summaryrefslogtreecommitdiffstats
path: root/obsolete-buildroot/sources/openwrt/patches/ppp/close_devfd
diff options
context:
space:
mode:
Diffstat (limited to 'obsolete-buildroot/sources/openwrt/patches/ppp/close_devfd')
-rw-r--r--obsolete-buildroot/sources/openwrt/patches/ppp/close_devfd17
1 files changed, 17 insertions, 0 deletions
diff --git a/obsolete-buildroot/sources/openwrt/patches/ppp/close_devfd b/obsolete-buildroot/sources/openwrt/patches/ppp/close_devfd
new file mode 100644
index 000000000..987d964aa
--- /dev/null
+++ b/obsolete-buildroot/sources/openwrt/patches/ppp/close_devfd
@@ -0,0 +1,17 @@
+Ensure that the fd returned by the connect method is closed before
+running external programs.
+
+http://article.gmane.org/gmane.linux.ppp/1371
+
+diff -ruNp ppp.orig/pppd/main.c ppp/pppd/main.c
+--- ppp.orig/pppd/main.c 2004-07-12 12:55:30.000000000 +0200
++++ ppp/pppd/main.c 2004-07-12 12:55:25.000000000 +0200
+@@ -1662,6 +1662,8 @@ run_program(prog, args, must_exist, done
+ closelog();
+ if (the_channel->close)
+ (*the_channel->close)();
++ else
++ close(devfd);
+
+ /* Don't pass handles to the PPP device, even by accident. */
+ dup2(fd_devnull, 0);