diff options
Diffstat (limited to 'package/busybox/patches/000-upstream-inetd.patch')
-rw-r--r-- | package/busybox/patches/000-upstream-inetd.patch | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/package/busybox/patches/000-upstream-inetd.patch b/package/busybox/patches/000-upstream-inetd.patch deleted file mode 100644 index dc71c7e771..0000000000 --- a/package/busybox/patches/000-upstream-inetd.patch +++ /dev/null @@ -1,47 +0,0 @@ ---- a/networking/inetd.c -+++ b/networking/inetd.c -@@ -1278,6 +1278,7 @@ int inetd_main(int argc UNUSED_PARAM, ch - sep->se_count = 0; - rearm_alarm(); /* will revive it in RETRYTIME sec */ - restore_sigmask(&omask); -+ maybe_close(new_udp_fd); - maybe_close(accepted_fd); - continue; /* -> check next fd in fd set */ - } -@@ -1298,17 +1299,18 @@ int inetd_main(int argc UNUSED_PARAM, ch - bb_perror_msg("vfork"+1); - sleep(1); - restore_sigmask(&omask); -+ maybe_close(new_udp_fd); - maybe_close(accepted_fd); - continue; /* -> check next fd in fd set */ - } - if (pid == 0) - pid--; /* -1: "we did fork and we are child" */ - } -- /* if pid == 0 here, we never forked */ -+ /* if pid == 0 here, we didn't fork */ - - if (pid > 0) { /* parent */ - if (sep->se_wait) { -- /* tcp wait: we passed listening socket to child, -+ /* wait: we passed socket to child, - * will wait for child to terminate */ - sep->se_wait = pid; - remove_fd_from_set(sep->se_fd); -@@ -1345,9 +1347,13 @@ int inetd_main(int argc UNUSED_PARAM, ch - setsid(); - /* "nowait" udp */ - if (new_udp_fd >= 0) { -- len_and_sockaddr *lsa = xzalloc_lsa(sep->se_family); -+ len_and_sockaddr *lsa; -+ int r; -+ -+ close(new_udp_fd); -+ lsa = xzalloc_lsa(sep->se_family); - /* peek at the packet and remember peer addr */ -- int r = recvfrom(ctrl, NULL, 0, MSG_PEEK|MSG_DONTWAIT, -+ r = recvfrom(ctrl, NULL, 0, MSG_PEEK|MSG_DONTWAIT, - &lsa->u.sa, &lsa->len); - if (r < 0) - goto do_exit1; |