diff options
author | Alan Coopersmith <alan.coopersmith@oracle.com> | 2011-02-24 23:24:17 -0800 |
---|---|---|
committer | Alan Coopersmith <alan.coopersmith@oracle.com> | 2011-03-01 19:18:11 -0800 |
commit | b8c26cb3d41b18dfcc14a1ae256f6575c7df7593 (patch) | |
tree | 9aab91d07dfdb95eb562f72c76e14230e0c4cd5a /list.c | |
parent | 9d424d79ca56e7e372a286fca478996eeee8ebfe (diff) |
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 <alan.coopersmith@oracle.com>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Diffstat (limited to 'list.c')
-rw-r--r-- | list.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -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; |