diff options
author | Rob Landley | 2005-08-12 06:06:54 +0000 |
---|---|---|
committer | Rob Landley | 2005-08-12 06:06:54 +0000 |
commit | d5138f44fe2e496498c62a06b7f50381edf952da (patch) | |
tree | b0c7e721ab4924d93491876f5e859389eb22b039 /busybox/networking | |
parent | 9344d8aa10ecf99aba3eae97e4fa131360f89729 (diff) | |
download | busybox-d5138f44fe2e496498c62a06b7f50381edf952da.zip busybox-d5138f44fe2e496498c62a06b7f50381edf952da.tar.gz |
Backport 10853, 10860/10870, and 10862.
Diffstat (limited to 'busybox/networking')
-rw-r--r-- | busybox/networking/nc.c | 7 | ||||
-rw-r--r-- | busybox/networking/traceroute.c | 3 |
2 files changed, 7 insertions, 3 deletions
diff --git a/busybox/networking/nc.c b/busybox/networking/nc.c index ab8ec0c..6ce85fe 100644 --- a/busybox/networking/nc.c +++ b/busybox/networking/nc.c @@ -161,8 +161,11 @@ int nc_main(int argc, char **argv) exit(0); ofd = STDOUT_FILENO; } else { - if (nread == 0) - shutdown(sfd, 1); + if (nread <= 0) { + shutdown(sfd, 1 /* send */ ); + close(STDIN_FILENO); + FD_CLR(STDIN_FILENO, &readfds); + } ofd = sfd; } diff --git a/busybox/networking/traceroute.c b/busybox/networking/traceroute.c index 44ffdf0..cf90ec0 100644 --- a/busybox/networking/traceroute.c +++ b/busybox/networking/traceroute.c @@ -101,7 +101,8 @@ struct opacket { #include "busybox.h" -static u_char packet[512]; /* last inbound (icmp) packet */ + /* last inbound (icmp) packet */ +static u_char packet[512] __attribute__ ((aligned)); static struct opacket *outpacket; /* last output (udp) packet */ static int s; /* receive (icmp) socket file descriptor */ |