aboutsummaryrefslogtreecommitdiff
path: root/external/miniupnpc/minisoap.c
diff options
context:
space:
mode:
authorRiccardo Spagni <ric@spagni.net>2015-12-30 12:28:03 +0200
committerRiccardo Spagni <ric@spagni.net>2015-12-30 12:28:03 +0200
commit7223eebbe71833e895fca95267cb243834dedf83 (patch)
treea5d48783316ff837e353c51a29b54f5324dd0bb1 /external/miniupnpc/minisoap.c
parentMerge pull request #575 (diff)
parentno longer need to pass the size to rapidjson (diff)
downloadmonero-7223eebbe71833e895fca95267cb243834dedf83.tar.xz
Merge pull request #577
32a2633 no longer need to pass the size to rapidjson (Riccardo Spagni) bd8e0fd add missing miniupnpc files, modify cmake to not build miniupnpc tests and to fix an issue with finding miniupnpcstrings (Riccardo Spagni) 7da9905 updated miniupnpc (Riccardo Spagni)
Diffstat (limited to '')
-rw-r--r--external/miniupnpc/minisoap.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/external/miniupnpc/minisoap.c b/external/miniupnpc/minisoap.c
index e45a481ac..5c9a11438 100644
--- a/external/miniupnpc/minisoap.c
+++ b/external/miniupnpc/minisoap.c
@@ -1,7 +1,7 @@
-/* $Id: minisoap.c,v 1.22 2012/01/21 13:30:31 nanard Exp $ */
+/* $Id: minisoap.c,v 1.23 2014/11/04 22:31:55 nanard Exp $ */
/* Project : miniupnp
* Author : Thomas Bernard
- * Copyright (c) 2005-2012 Thomas Bernard
+ * Copyright (c) 2005-2015 Thomas Bernard
* This software is subject to the conditions detailed in the
* LICENCE file provided in this distribution.
*
@@ -43,10 +43,10 @@ httpWrite(int fd, const char * body, int bodysize,
/* Note : my old linksys router only took into account
* soap request that are sent into only one packet */
char * p;
- /* TODO: AVOID MALLOC */
+ /* TODO: AVOID MALLOC, we could use writev() for that */
p = malloc(headerssize+bodysize);
if(!p)
- return 0;
+ return -1;
memcpy(p, headers, headerssize);
memcpy(p+headerssize, body, bodysize);
/*n = write(fd, p, headerssize+bodysize);*/
@@ -96,7 +96,7 @@ int soapPostSubmit(int fd,
headerssize = snprintf(headerbuf, sizeof(headerbuf),
"POST %s HTTP/%s\r\n"
"Host: %s%s\r\n"
- "User-Agent: " OS_STRING ", UPnP/1.0, MiniUPnPc/" MINIUPNPC_VERSION_STRING "\r\n"
+ "User-Agent: " OS_STRING ", " UPNP_VERSION_STRING ", MiniUPnPc/" MINIUPNPC_VERSION_STRING "\r\n"
"Content-Length: %d\r\n"
"Content-Type: text/xml\r\n"
"SOAPAction: \"%s\"\r\n"
@@ -105,6 +105,8 @@ int soapPostSubmit(int fd,
"Pragma: no-cache\r\n"
"\r\n",
url, httpversion, host, portstr, bodysize, action);
+ if ((unsigned int)headerssize >= sizeof(headerbuf))
+ return -1;
#ifdef DEBUG
/*printf("SOAP request : headersize=%d bodysize=%d\n",
headerssize, bodysize);