diff options
-rw-r--r-- | icespider/core/ihttpRequest.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/icespider/core/ihttpRequest.cpp b/icespider/core/ihttpRequest.cpp index 75b050a..025509f 100644 --- a/icespider/core/ihttpRequest.cpp +++ b/icespider/core/ihttpRequest.cpp @@ -37,6 +37,10 @@ namespace IceSpider { Accepted IHttpRequest::parseAccept(const std::string_view & acceptHdr) { + if (acceptHdr.empty() + || std::find_if_not(acceptHdr.begin(), acceptHdr.end(), std::iswspace) == acceptHdr.end()) { + throw Http400_BadRequest(); + } auto accept = std::unique_ptr<FILE, decltype(&fclose)>( fmemopen(const_cast<char *>(acceptHdr.data()), acceptHdr.length(), "r"), &fclose); Accepted accepts; |