Don't leak temporary fds pointing to /dev/null
authorMichel HERMIER <hermier@frugalware.org>
Fri, 9 Nov 2012 15:44:43 +0000 (15:44 +0000)
committerSimon McVittie <simon.mcvittie@collabora.co.uk>
Fri, 9 Nov 2012 16:02:01 +0000 (16:02 +0000)
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=56927
[commit message added -smcv]
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
dbus/dbus-sysdeps-util-unix.c
tools/dbus-launch.c

index 76423ab..6cff3fe 100644 (file)
@@ -123,6 +123,7 @@ _dbus_become_daemon (const DBusString *pidfile,
             dup2 (dev_null_fd, 2);
           else
             _dbus_verbose ("keeping stderr open due to DBUS_DEBUG_OUTPUT\n");
+          close (dev_null_fd);
         }
 
       if (!keep_umask)
index 1ec9ae5..2a9dabf 100644 (file)
@@ -633,6 +633,7 @@ babysit (int   exit_with_session,
       s = getenv ("DBUS_DEBUG_OUTPUT");
       if (s == NULL || *s == '\0')
         dup2 (dev_null_fd, 2);
+      close (dev_null_fd);
     }
   else
     {