diff options
-rw-r--r-- | pb_decode.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/pb_decode.c b/pb_decode.c index e2e89a0d..fba8f64c 100644 --- a/pb_decode.c +++ b/pb_decode.c @@ -312,6 +312,9 @@ static bool pb_field_next(pb_field_iterator_t *iter) if (PB_HTYPE(iter->current->type) == PB_HTYPE_REQUIRED) iter->required_field_index++; + if (iter->current->tag == 0) + return false; /* Only happens with empty message types */ + iter->current++; iter->field_index++; if (iter->current->tag == 0) |