From 948f63f0fd0530c8653aa801f7e3d8a2cf2b12b2 Mon Sep 17 00:00:00 2001 From: Uwe Hermann Date: Fri, 3 Apr 2015 17:17:49 +0200 Subject: [PATCH] add_handle(): Fix a memory leak. This fixes the following scan-build warning: serialport.c:1170:3: warning: Potential leak of memory pointed to by 'new_handles' RETURN_ERROR(SP_ERR_MEM, "Mask array realloc() failed"); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- serialport.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/serialport.c b/serialport.c index b8ddffe..1ace0ae 100644 --- a/serialport.c +++ b/serialport.c @@ -1166,8 +1166,10 @@ static enum sp_return add_handle(struct sp_event_set *event_set, RETURN_ERROR(SP_ERR_MEM, "Handle array realloc() failed"); if (!(new_masks = realloc(event_set->masks, - sizeof(enum sp_event) * (event_set->count + 1)))) + sizeof(enum sp_event) * (event_set->count + 1)))) { + free(new_handles); RETURN_ERROR(SP_ERR_MEM, "Mask array realloc() failed"); + } event_set->handles = new_handles; event_set->masks = new_masks;