diff --git a/utils.cpp b/utils.cpp index 6064457..b41e58e 100644 --- a/utils.cpp +++ b/utils.cpp @@ -280,6 +280,12 @@ bool parseHttpHeader(CirBuf &buf, std::string &websocket_key, int &websocket_ver } std::list fields = split(line, ':', 1); + + if (fields.size() != 2) + { + throw BadHttpRequest("This does not look like a HTTP request."); + } + const std::vector fields2(fields.begin(), fields.end()); std::string name = str_tolower(fields2[0]); trim(name);