41 lines
1.1 KiB
Diff
41 lines
1.1 KiB
Diff
|
From e00066fb973a1796dd3989e356e17c8b51add521 Mon Sep 17 00:00:00 2001
|
||
|
From: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||
|
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 <alan.coopersmith@oracle.com>
|
||
|
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||
|
---
|
||
|
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
|
||
|
|