From b8c26cb3d41b18dfcc14a1ae256f6575c7df7593 Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Thu, 24 Feb 2011 23:24:17 -0800 Subject: makeList: free partially allocated list on failure Error: Memory leak (CWE 401) Memory leak of pointer 'first' allocated with malloc(8) at line 192 of list.c in function 'makeList'. 'first' allocated at line 181 with malloc(8). first leaks when next == 0 at line 191. [ This bug was found by the Parfait 0.3.6 bug checking tool. For more information see http://labs.oracle.com/projects/parfait/ ] Signed-off-by: Alan Coopersmith Reviewed-by: Julien Cristau --- list.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'list.c') diff --git a/list.c b/list.c index fdf81d3..a10b5ed 100644 --- a/list.c +++ b/list.c @@ -188,8 +188,10 @@ makeList(char **a, int n, ListPtr old, int begin) current = first; for(i = 1; i < n; i++) { next = malloc(sizeof(ListRec)); - if(!next) + if(!next) { + destroyList(first); return NULL; + } next->value = a[i]; next->next = NULL; -- cgit v1.2.3