summaryrefslogtreecommitdiff
path: root/upb/decode.c
diff options
context:
space:
mode:
authorBo Yang <teboring@google.com>2018-03-07 22:50:22 +0000
committerBo Yang <teboring@google.com>2018-03-07 22:50:22 +0000
commit93aaf99347f84dc4b79689212ecc4f1b6dc74670 (patch)
treeac107133dfceee91cd6b436a2d4be2ffb02bb114 /upb/decode.c
parent681cf4279c152e60e67989b83134018c7058f874 (diff)
Fix parsing sub-message field.
Buffer start place needs to be adjusted before parsing sub-message.
Diffstat (limited to 'upb/decode.c')
-rw-r--r--upb/decode.c1
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:
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback