--- dbus-1.0.2/dbus/dbus-sysdeps-unix.c 2006-12-12 04:21:09.000000000 +0900 +++ dbus-1.0.2/dbus/dbus-sysdeps-unix.c 2007-04-24 11:10:00.000000000 +0800 @@ -2433,6 +2433,7 @@ { /* child process */ int fd = open ("/dev/null", O_RDWR); + int fdc, fdl; if (fd == -1) /* huh?! can't open /dev/null? */ _exit (1); @@ -2450,6 +2451,15 @@ if (dup2 (fd, 2) == -1) _exit (1); + /* close any other file descriptors */ + fdl = sysconf (_SC_OPEN_MAX); + if (fdl >= 0) { + for (fdc=3;fdc