diff options
Diffstat (limited to 'networking')
| -rw-r--r-- | networking/httpd.c | 3 | ||||
| -rw-r--r-- | networking/inetd.c | 5 | ||||
| -rw-r--r-- | networking/libiproute/iptunnel.c | 4 |
3 files changed, 8 insertions, 4 deletions
diff --git a/networking/httpd.c b/networking/httpd.c index e67e6bd64..139e913f1 100644 --- a/networking/httpd.c +++ b/networking/httpd.c | |||
| @@ -1186,6 +1186,9 @@ static void send_cgi_and_exit( | |||
| 1186 | * and send it to the peer. So please no SIGPIPEs! */ | 1186 | * and send it to the peer. So please no SIGPIPEs! */ |
| 1187 | signal(SIGPIPE, SIG_IGN); | 1187 | signal(SIGPIPE, SIG_IGN); |
| 1188 | 1188 | ||
| 1189 | /* Accound for POSTDATA already in hdr_buf */ | ||
| 1190 | bodyLen -= hdr_cnt; | ||
| 1191 | |||
| 1189 | /* This loop still looks messy. What is an exit criteria? | 1192 | /* This loop still looks messy. What is an exit criteria? |
| 1190 | * "CGI's output closed"? Or "CGI has exited"? | 1193 | * "CGI's output closed"? Or "CGI has exited"? |
| 1191 | * What to do if CGI has closed both input and output, but | 1194 | * What to do if CGI has closed both input and output, but |
diff --git a/networking/inetd.c b/networking/inetd.c index e4e9f95b0..85e9ae732 100644 --- a/networking/inetd.c +++ b/networking/inetd.c | |||
| @@ -734,7 +734,8 @@ static servtab_t *getconfigent(void) | |||
| 734 | /* if ((arg = skip(&cp, 1)) == NULL) */ | 734 | /* if ((arg = skip(&cp, 1)) == NULL) */ |
| 735 | /* goto more; */ | 735 | /* goto more; */ |
| 736 | 736 | ||
| 737 | sep->se_server = xxstrdup(skip(&cp)); | 737 | arg = skip(&cp); |
| 738 | sep->se_server = xxstrdup(arg); | ||
| 738 | if (strcmp(sep->se_server, "internal") == 0) { | 739 | if (strcmp(sep->se_server, "internal") == 0) { |
| 739 | #ifdef INETD_FEATURE_ENABLED | 740 | #ifdef INETD_FEATURE_ENABLED |
| 740 | const struct builtin *bi; | 741 | const struct builtin *bi; |
| @@ -759,7 +760,7 @@ static servtab_t *getconfigent(void) | |||
| 759 | sep->se_bi = NULL; | 760 | sep->se_bi = NULL; |
| 760 | #endif | 761 | #endif |
| 761 | argc = 0; | 762 | argc = 0; |
| 762 | for (arg = skip(&cp); cp; arg = skip(&cp)) { | 763 | for (; cp; arg = skip(&cp)) { |
| 763 | if (argc < MAXARGV) | 764 | if (argc < MAXARGV) |
| 764 | sep->se_argv[argc++] = xxstrdup(arg); | 765 | sep->se_argv[argc++] = xxstrdup(arg); |
| 765 | } | 766 | } |
diff --git a/networking/libiproute/iptunnel.c b/networking/libiproute/iptunnel.c index 2b1713556..6d3a74165 100644 --- a/networking/libiproute/iptunnel.c +++ b/networking/libiproute/iptunnel.c | |||
| @@ -241,12 +241,12 @@ static void parse_args(int argc, char **argv, int cmd, struct ip_tunnel_parm *p) | |||
| 241 | } else if (key == ARG_remote) { | 241 | } else if (key == ARG_remote) { |
| 242 | NEXT_ARG(); | 242 | NEXT_ARG(); |
| 243 | key = index_in_strings(keywords, *argv); | 243 | key = index_in_strings(keywords, *argv); |
| 244 | if (key == ARG_any) | 244 | if (key != ARG_any) |
| 245 | p->iph.daddr = get_addr32(*argv); | 245 | p->iph.daddr = get_addr32(*argv); |
| 246 | } else if (key == ARG_local) { | 246 | } else if (key == ARG_local) { |
| 247 | NEXT_ARG(); | 247 | NEXT_ARG(); |
| 248 | key = index_in_strings(keywords, *argv); | 248 | key = index_in_strings(keywords, *argv); |
| 249 | if (key == ARG_any) | 249 | if (key != ARG_any) |
| 250 | p->iph.saddr = get_addr32(*argv); | 250 | p->iph.saddr = get_addr32(*argv); |
| 251 | } else if (key == ARG_dev) { | 251 | } else if (key == ARG_dev) { |
| 252 | NEXT_ARG(); | 252 | NEXT_ARG(); |
