diff options
Diffstat (limited to 'pb_encode.c')
-rw-r--r-- | pb_encode.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/pb_encode.c b/pb_encode.c index d6ba7e34..4aced3cb 100644 --- a/pb_encode.c +++ b/pb_encode.c @@ -94,6 +94,9 @@ static bool checkreturn encode_array(pb_ostream_t *stream, const pb_field_t *fie if (count == 0) return true; + + if (count > field->array_size) + PB_RETURN_ERROR(stream, "array max size exceeded"); /* We always pack arrays if the datatype allows it. */ if (PB_LTYPE(field->type) <= PB_LTYPE_LAST_PACKABLE) |