summaryrefslogtreecommitdiff
path: root/networking
diff options
context:
space:
mode:
Diffstat (limited to 'networking')
-rw-r--r--networking/httpd.c3
-rw-r--r--networking/inetd.c5
-rw-r--r--networking/libiproute/iptunnel.c4
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();