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 }