[PATCH:mkfontscale 2/2] makeList: free partially allocated list on failure

Alan Coopersmith alan.coopersmith at oracle.com
Thu Feb 24 23:38:45 PST 2011


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 at oracle.com>
---
 list.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

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;
 
-- 
1.7.3.2



More information about the xorg-devel mailing list