From 289f5c18b195aa43d46a619d1188709abbfa9c82 Mon Sep 17 00:00:00 2001 From: 10054172 Date: Fri, 18 Mar 2022 12:42:57 -0400 Subject: [PATCH 1/2] Fix issue #499: unsigned integer overflow Signed-off-by: 10054172 --- protobuf-c/protobuf-c.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/protobuf-c/protobuf-c.c b/protobuf-c/protobuf-c.c index 98052cd..ec2d40a 100644 --- a/protobuf-c/protobuf-c.c +++ b/protobuf-c/protobuf-c.c @@ -2603,10 +2603,13 @@ parse_required_member(ScannedMember *scanned_member, return FALSE; def_mess = scanned_member->field->default_value; - subm = protobuf_c_message_unpack(scanned_member->field->descriptor, - allocator, - len - pref_len, - data + pref_len); + if (len > pref_len) + subm = protobuf_c_message_unpack(scanned_member->field->descriptor, + allocator, + len - pref_len, + data + pref_len); + else + subm = NULL; if (maybe_clear && *pmessage != NULL && -- 2.37.3.windows.1