[Nut-upsdev] [PATCH 1/3] Fix file descriptor leak

Thomas Jarosch thomas.jarosch at intra2net.com
Sat Aug 27 23:01:54 UTC 2011


Credit goes to "cppcheck"

Signed-off-by: Thomas Jarosch <thomas.jarosch at intra2net.com>
---
 common/common.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/common/common.c b/common/common.c
index f443cb7..e8004d7 100644
--- a/common/common.c
+++ b/common/common.c
@@ -244,6 +244,7 @@ int sendsignalfn(const char *pidfn, int sig)
 
 	if (fgets(buf, sizeof(buf), pidf) == NULL) {
 		upslogx(LOG_NOTICE, "Failed to read pid from %s", pidfn);
+		fclose(pidf);
 		return -1;
 	}	
 
@@ -251,6 +252,7 @@ int sendsignalfn(const char *pidfn, int sig)
 
 	if (pid < 2) {
 		upslogx(LOG_NOTICE, "Ignoring invalid pid number %d", pid);
+		fclose(pidf);
 		return -1;
 	}
 
@@ -259,6 +261,7 @@ int sendsignalfn(const char *pidfn, int sig)
 
 	if (ret < 0) {
 		perror("kill");
+		fclose(pidf);
 		return -1;
 	}
 
@@ -267,9 +270,11 @@ int sendsignalfn(const char *pidfn, int sig)
 
 	if (ret < 0) {
 		perror("kill");
+		fclose(pidf);
 		return -1;
 	}
 
+	fclose(pidf);
 	return 0;
 }
 
-- 
1.7.4.4




More information about the Nut-upsdev mailing list