summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Doliner <mark@kingant.net>2014-10-16 11:36:22 -0700
committerMark Doliner <mark@kingant.net>2014-10-16 11:36:22 -0700
commit980fd7cf48b231018e35b3097c54507fd591d2f9 (patch)
treed5623ed601eca85a35c40d896208e3559e40b050
parentaee0d4c63b38faeb2868e38530e85c4a8109f8df (diff)
parent39385e9934482045f3b8cedb6bbab252c7c4fde8 (diff)
downloadpidgin-980fd7cf48b231018e35b3097c54507fd591d2f9.tar.gz
Merge pidgin/main release-2.x.y branch into private/main release-2.x.y
No conflicts.
-rw-r--r--libpurple/protocols/gg/lib/protobuf-c.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libpurple/protocols/gg/lib/protobuf-c.c b/libpurple/protocols/gg/lib/protobuf-c.c
index a42efaa169..e7a4c4c183 100644
--- a/libpurple/protocols/gg/lib/protobuf-c.c
+++ b/libpurple/protocols/gg/lib/protobuf-c.c
@@ -218,6 +218,8 @@ protobuf_c_buffer_simple_append (ProtobufCBuffer *buffer,
while (new_alloced < new_len)
new_alloced += new_alloced;
DO_ALLOC (new_data, &protobuf_c_default_allocator, new_alloced, return);
+ if (!new_data)
+ return;
memcpy (new_data, simp->data, simp->len);
if (simp->must_free_data)
FREE (&protobuf_c_default_allocator, simp->data);
@@ -2059,6 +2061,8 @@ parse_member (ScannedMember *scanned_member,
ufield->wire_type = scanned_member->wire_type;
ufield->len = scanned_member->len;
DO_UNALIGNED_ALLOC (ufield->data, allocator, scanned_member->len, return 0);
+ if (ufield->data == NULL)
+ return 0;
memcpy (ufield->data, scanned_member->data, ufield->len);
return 1;
}