From e00066fb973a1796dd3989e356e17c8b51add521 Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Sun, 30 Sep 2018 15:09:29 -0700 Subject: [PATCH 1/3] After fdopen(), use fclose() instead of close() in error path Found by Oracle's Parfait 2.2 static analyzer: Error: File Leak File Leak [file-ptr-leak]: Leaked File fp at line 94 of lib/libXpm/src/RdFToBuf.c in function 'XpmReadFileToBuffer '. fp initialized at line 86 with fdopen fp leaks when len < 0 at line 92. Introduced-by: commit 8b3024e6871ce50b34bf2dff924774bd654703bc Signed-off-by: Alan Coopersmith Reviewed-by: Peter Hutterer --- src/RdFToBuf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/RdFToBuf.c b/src/RdFToBuf.c index 69e3347d24f2..1b386f81fde3 100644 --- a/src/RdFToBuf.c +++ b/src/RdFToBuf.c @@ -90,7 +90,7 @@ XpmReadFileToBuffer( } len = stats.st_size; if (len < 0 || len >= SIZE_MAX) { - close(fd); + fclose(fp); return XpmOpenFailed; } ptr = (char *) XpmMalloc(len + 1); -- 2.23.0