diff options
author | Alan Coopersmith <alan.coopersmith@oracle.com> | 2011-11-24 12:59:56 -0800 |
---|---|---|
committer | Alan Coopersmith <alan.coopersmith@oracle.com> | 2011-11-30 18:59:33 -0800 |
commit | 2b8d373bddf427bcd95e2595cb64740ebd1d0d30 (patch) | |
tree | 5ce813958242835f50707e576a610f7bb754fb41 | |
parent | bcfb8e8ce56cf47bc6a61bd8c896bafba9e2a9c2 (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.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -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; |