diff options
author | Joshua Haberman <joshua@reverberate.org> | 2009-06-23 19:30:23 -0700 |
---|---|---|
committer | Joshua Haberman <joshua@reverberate.org> | 2009-06-23 19:30:23 -0700 |
commit | edd137fe992a83c0f024bfd3752eeceea735e196 (patch) | |
tree | f8286ed9360511c9a818455949fdb9b5e90c1ff2 /upb_parse.c | |
parent | b11730f2ed3b37af925a26b42b25689fd4769eef (diff) |
Two small fixes.
Diffstat (limited to 'upb_parse.c')
-rw-r--r-- | upb_parse.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/upb_parse.c b/upb_parse.c index f000501..088091b 100644 --- a/upb_parse.c +++ b/upb_parse.c @@ -212,7 +212,7 @@ upb_status_t upb_parse_wire_value(void *buf, size_t *offset, READ(get_v_uint32_t(&b, &wv->_32bit)); size_t new_offset = *offset + wv->_32bit; if (new_offset < *offset) return UPB_ERROR_OVERFLOW; - *offset += new_offset; + *offset = new_offset; break; case UPB_WIRE_TYPE_START_GROUP: case UPB_WIRE_TYPE_END_GROUP: break; @@ -234,7 +234,7 @@ upb_status_t upb_skip_wire_value(void *buf, size_t *offset, READ(get_v_uint32_t(&b, &len)); size_t new_offset = *offset + len; if (new_offset < *offset) return UPB_ERROR_OVERFLOW; - *offset += new_offset; + *offset = new_offset; break; } case UPB_WIRE_TYPE_START_GROUP: /* TODO: skip to matching end group. */ @@ -328,7 +328,6 @@ upb_status_t upb_parse(struct upb_parse_state *s, void *buf, size_t len, s->packed_end_offset = s->offset + v.delim_len; } else { /* The common case: a simple value. */ - CHECK(upb_parse_value(&b, ft, &v)); s->value_cb(s, &v, b, user_field_desc); } } |