From bb7ad4ed647137404bd17f876b02d0a2fc5fd807 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Sun, 23 Oct 2016 17:22:34 +0200 Subject: [PATCH] pldd: Fix resource leak and missing check if fopen failed Fixes Coverity CID 66903 Signed-off-by: Corinna Vinschen --- winsup/utils/pldd.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/winsup/utils/pldd.c b/winsup/utils/pldd.c index f97741950..f077e63ab 100644 --- a/winsup/utils/pldd.c +++ b/winsup/utils/pldd.c @@ -115,12 +115,16 @@ main (int argc, char *argv[]) if (!fd) error (1, ENOENT, "cannot open /proc/%d", pid); fscanf (fd, "%d", &winpid); + fclose (fd); exefile = (char *) malloc (32); exename = (char *) malloc (MAX_PATH); sprintf (exefile, "/proc/%d/exename", pid); fd = fopen (exefile, "rb"); + if (!fd) + error (1, ENOENT, "cannot open /proc/%d", pid); fscanf (fd, "%s", exename); + fclose (fd); hProcess = OpenProcess (PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, 0, winpid);