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 e67e6bd..139e913 100644 --- a/networking/httpd.c +++ b/networking/httpd.c @@ -1186,6 +1186,9 @@ static void send_cgi_and_exit( * and send it to the peer. So please no SIGPIPEs! */ signal(SIGPIPE, SIG_IGN); + /* Accound for POSTDATA already in hdr_buf */ + bodyLen -= hdr_cnt; + /* This loop still looks messy. What is an exit criteria? * "CGI's output closed"? Or "CGI has exited"? * What to do if CGI has closed both input and output, but diff --git a/networking/inetd.c b/networking/inetd.c index e4e9f95..85e9ae7 100644 --- a/networking/inetd.c +++ b/networking/inetd.c @@ -734,7 +734,8 @@ static servtab_t *getconfigent(void) /* if ((arg = skip(&cp, 1)) == NULL) */ /* goto more; */ - sep->se_server = xxstrdup(skip(&cp)); + arg = skip(&cp); + sep->se_server = xxstrdup(arg); if (strcmp(sep->se_server, "internal") == 0) { #ifdef INETD_FEATURE_ENABLED const struct builtin *bi; @@ -759,7 +760,7 @@ static servtab_t *getconfigent(void) sep->se_bi = NULL; #endif argc = 0; - for (arg = skip(&cp); cp; arg = skip(&cp)) { + for (; cp; arg = skip(&cp)) { if (argc < MAXARGV) sep->se_argv[argc++] = xxstrdup(arg); } diff --git a/networking/libiproute/iptunnel.c b/networking/libiproute/iptunnel.c index 2b17135..6d3a741 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) } else if (key == ARG_remote) { NEXT_ARG(); key = index_in_strings(keywords, *argv); - if (key == ARG_any) + if (key != ARG_any) p->iph.daddr = get_addr32(*argv); } else if (key == ARG_local) { NEXT_ARG(); key = index_in_strings(keywords, *argv); - if (key == ARG_any) + if (key != ARG_any) p->iph.saddr = get_addr32(*argv); } else if (key == ARG_dev) { NEXT_ARG(); |