diff options
author | Bo Yang <teboring@google.com> | 2018-03-07 22:50:22 +0000 |
---|---|---|
committer | Bo Yang <teboring@google.com> | 2018-03-07 22:50:22 +0000 |
commit | 93aaf99347f84dc4b79689212ecc4f1b6dc74670 (patch) | |
tree | ac107133dfceee91cd6b436a2d4be2ffb02bb114 | |
parent | 681cf4279c152e60e67989b83134018c7058f874 (diff) |
Fix parsing sub-message field.
Buffer start place needs to be adjusted before parsing sub-message.
-rw-r--r-- | upb/decode.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/upb/decode.c b/upb/decode.c index 4340a90..8d685a2 100644 --- a/upb/decode.c +++ b/upb/decode.c @@ -477,6 +477,7 @@ static bool upb_decode_delimitedfield(upb_decstate *d, upb_decframe *frame, } case UPB_DESCRIPTOR_TYPE_MESSAGE: CHK(val.size <= (size_t)(frame->limit - val.data)); + d->ptr -= val.size; CHK(upb_decode_submsg(d, frame, val.data + val.size, field, 0)); break; default: |