From 97a4b8e6a74584a692aa8e92bd080c2e60ef04de Mon Sep 17 00:00:00 2001 From: iphydf Date: Sun, 12 Aug 2018 21:34:31 +0000 Subject: [PATCH] Fix memory leak in error path in group A/V. This probably doesn't happen, but it can in theory, so we avoid it. --- toxav/groupav.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/toxav/groupav.c b/toxav/groupav.c index 4406e66b..091f1255 100644 --- a/toxav/groupav.c +++ b/toxav/groupav.c @@ -262,7 +262,10 @@ static void group_av_peer_new(void *object, uint32_t groupnumber, uint32_t frien } peer_av->buffer = create_queue(GROUP_JBUF_SIZE); - group_peer_set_object(group_av->g_c, groupnumber, friendgroupnumber, peer_av); + + if (group_peer_set_object(group_av->g_c, groupnumber, friendgroupnumber, peer_av) == -1) { + free(peer_av); + } } static void group_av_peer_delete(void *object, uint32_t groupnumber, void *peer_object)