Blob Blame History Raw
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