diff --git a/lib/http.c b/lib/http.c index 799d4fb457..bc030ddb7f 100644 --- a/lib/http.c +++ b/lib/http.c @@ -4283,6 +4283,13 @@ CURLcode Curl_http_readwrite_headers(struct Curl_easy *data, } } + end_ptr = memchr(headp, 0x00, Curl_dyn_len(&data->state.headerb)); + if(end_ptr) { + /* this is bad, bail out */ + failf(data, "Nul byte in header"); + return CURLE_WEIRD_SERVER_REPLY; + } + result = Curl_http_header(data, conn, headp); if(result) return result; diff --git a/tests/data/test262 b/tests/data/test262 index 43994b05fe..d119d66723 100644 Binary files a/tests/data/test262 and b/tests/data/test262 differ