From 80820ec7a9adac50bc83cc0c82c55e24b602875c Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Fri, 16 Feb 2007 18:24:14 +0000 Subject: [PATCH] Fri Feb 16 18:23:15 IST 2007 Mark McLoughlin * qemud/qemud.c: fix qemudEnableIpForwarding() to not leak an fd if writing to /proc/sys/net/ipv4/ip_forward fails. --- ChangeLog | 5 +++++ qemud/qemud.c | 14 ++++++++------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index f09ca92819..b4bed78401 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri Feb 16 18:23:15 IST 2007 Mark McLoughlin + + * qemud/qemud.c: fix qemudEnableIpForwarding() to not leak + an fd if writing to /proc/sys/net/ipv4/ip_forward fails. + Fri Feb 16 11:56:24 EST 2007 Daniel P. Berrange * tests/Makefile.am: Fixed linkage of test suites diff --git a/qemud/qemud.c b/qemud/qemud.c index 24af96709f..4fb47fd30e 100644 --- a/qemud/qemud.c +++ b/qemud/qemud.c @@ -980,15 +980,17 @@ qemudEnableIpForwarding(void) { #define PROC_IP_FORWARD "/proc/sys/net/ipv4/ip_forward" - int fd; + int fd, ret; - if ((fd = open(PROC_IP_FORWARD, O_WRONLY|O_TRUNC)) == -1 || - write(fd, "1\n", 2) < 0) - return 0; + if ((fd = open(PROC_IP_FORWARD, O_WRONLY|O_TRUNC)) == -1) + return 0; - close (fd); + if (write(fd, "1\n", 2) < 0) + ret = 0; - return 1; + close (fd); + + return 1; #undef PROC_IP_FORWARD }