summaryrefslogtreecommitdiff
path: root/net/hostapd/files/patch-src_wps_httpread.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/hostapd/files/patch-src_wps_httpread.c')
-rw-r--r--net/hostapd/files/patch-src_wps_httpread.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/net/hostapd/files/patch-src_wps_httpread.c b/net/hostapd/files/patch-src_wps_httpread.c
new file mode 100644
index 000000000000..dfdc89f2a8cd
--- /dev/null
+++ b/net/hostapd/files/patch-src_wps_httpread.c
@@ -0,0 +1,16 @@
+--- src/wps/httpread.c.orig 2015-03-15 17:30:39 UTC
++++ src/wps/httpread.c
+@@ -533,6 +533,13 @@ static void httpread_read_handler(int sd
+ if (!isxdigit(*cbp))
+ goto bad;
+ h->chunk_size = strtoul(cbp, NULL, 16);
++ if (h->chunk_size < 0 ||
++ h->chunk_size > h->max_bytes) {
++ wpa_printf(MSG_DEBUG,
++ "httpread: Invalid chunk size %d",
++ h->chunk_size);
++ goto bad;
++ }
+ /* throw away chunk header
+ * so we have only real data
+ */