From 2b8d373bddf427bcd95e2595cb64740ebd1d0d30 Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Thu, 24 Nov 2011 12:59:56 -0800 Subject: XcursorFileSaveImages: plug memory leak on invalid input Error: Memory leak (CWE 401) Memory leak of pointer 'comments' allocated with XcursorCommentsCreate(0) at line 982 of src/file.c in function 'XcursorFileSaveImages'. 'comments' allocated at line 978 with XcursorCommentsCreate(0). comments leaks when comments != 0 at line 981. [ This bug was found by the Parfait 0.3.7 bug checking tool. For more information see http://labs.oracle.com/projects/parfait/ ] Signed-off-by: Alan Coopersmith Reviewed-by: Jeremy Huddleston --- src/file.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/file.c b/src/file.c index 631d8f8..efe6d4b 100644 --- a/src/file.c +++ b/src/file.c @@ -975,10 +975,13 @@ XcursorFileLoad (FILE *file, XcursorBool XcursorFileSaveImages (FILE *file, const XcursorImages *images) { - XcursorComments *comments = XcursorCommentsCreate (0); + XcursorComments *comments; XcursorFile f; XcursorBool ret; - if (!comments || !file || !images) + + if (!file || !images) + return 0; + if ((comments = XcursorCommentsCreate (0)) == NULL) return 0; _XcursorStdioFileInitialize (file, &f); ret = XcursorXcFileSave (&f, comments, images) && fflush (file) != EOF; -- cgit v1.2.3