From edd137fe992a83c0f024bfd3752eeceea735e196 Mon Sep 17 00:00:00 2001 From: Joshua Haberman Date: Tue, 23 Jun 2009 19:30:23 -0700 Subject: Two small fixes. --- upb_parse.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'upb_parse.c') 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); } } -- cgit v1.2.3