summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Coopersmith <alan.coopersmith@oracle.com>2011-11-24 12:59:56 -0800
committerAlan Coopersmith <alan.coopersmith@oracle.com>2011-11-30 18:59:33 -0800
commit2b8d373bddf427bcd95e2595cb64740ebd1d0d30 (patch)
tree5ce813958242835f50707e576a610f7bb754fb41
parentbcfb8e8ce56cf47bc6a61bd8c896bafba9e2a9c2 (diff)
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 <alan.coopersmith@oracle.com> Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
-rw-r--r--src/file.c7
1 files 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;