summary refs log tree commit diff
diff options
context:
space:
mode:
authorLeah Neukirchen <leah@vuxu.org>2020-05-08 19:38:08 +0200
committerLeah Neukirchen <leah@vuxu.org>2020-05-08 19:38:08 +0200
commited1db11d24c5f99ce055720ca9e0a7433a6056d6 (patch)
tree31ed1af274c938ee22eb2984a38fe539779da918
parent14e556b2644efa5731a25a69c843cfbb52334b29 (diff)
downloadhittpd-ed1db11d24c5f99ce055720ca9e0a7433a6056d6.tar.gz
hittpd-ed1db11d24c5f99ce055720ca9e0a7433a6056d6.tar.xz
hittpd-ed1db11d24c5f99ce055720ca9e0a7433a6056d6.zip
ignore duplicate headers
Fixes a memory leak.

Thanks @duncaen.
-rw-r--r--hittpd.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/hittpd.c b/hittpd.c
index 09c89d8..d8ae501 100644
--- a/hittpd.c
+++ b/hittpd.c
@@ -150,9 +150,9 @@ on_header_value(http_parser *p, const char *s, size_t l)
 {
 	struct conn_data *data = p->data;
 
-	if (data->state == HOST)
+	if (data->state == HOST && !data->host)
 		data->host = strndup(s, l);
-	else if (data->state == IMS)
+	else if (data->state == IMS && !data->ims)
 		data->ims = strndup(s, l);
 	else if (data->state == RANGE)
 		parse_range(data, s, l);