summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorflorian <florian@openbsd.org>2018-04-06 13:02:07 +0000
committerflorian <florian@openbsd.org>2018-04-06 13:02:07 +0000
commit10e99d49d25363ed6a8dde342c2fa7bdce577a03 (patch)
tree2d73a6c7191f5ca11807790ddf4194c9cf6a169b
parentRevert revision 1.12 commit. Although *pval looks like a C pointer, (diff)
downloadwireguard-openbsd-10e99d49d25363ed6a8dde342c2fa7bdce577a03.tar.xz
wireguard-openbsd-10e99d49d25363ed6a8dde342c2fa7bdce577a03.zip
After processing of a range request httpd would never close the
connection and eventually stop answering queries because of file descriptor starvation. Problem reported by, minimal testcase provided and testing by trondd _AT_ kagu-tsuchi.com, thanks! Testing Nick Holland and millert OK deraadt
-rw-r--r--usr.sbin/httpd/server_http.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/usr.sbin/httpd/server_http.c b/usr.sbin/httpd/server_http.c
index 414e297f082..c4c02405b3f 100644
--- a/usr.sbin/httpd/server_http.c
+++ b/usr.sbin/httpd/server_http.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: server_http.c,v 1.118 2017/12/14 21:19:47 benno Exp $ */
+/* $OpenBSD: server_http.c,v 1.119 2018/04/06 13:02:07 florian Exp $ */
/*
* Copyright (c) 2006 - 2017 Reyk Floeter <reyk@openbsd.org>
@@ -701,6 +701,7 @@ server_read_httprange(struct bufferevent *bev, void *arg)
r->range_index++;
break;
case TOREAD_HTTP_NONE:
+ goto done;
case 0:
break;
}