diff --git a/lib/http_parser.cpp b/lib/http_parser.cpp index 2ceda241..6b2da389 100644 --- a/lib/http_parser.cpp +++ b/lib/http_parser.cpp @@ -324,7 +324,7 @@ void HTTP::Parser::SetVar(std::string i, std::string v) { /// \return True if a whole request or response was read, false otherwise. bool HTTP::Parser::Read(Socket::Connection & conn) { //Make sure the received data ends in a newline (\n). - while ((!seenHeaders || (getChunks && !doingChunk)) && *(conn.Received().get().rbegin()) != '\n') { + while ((!seenHeaders || (getChunks && !doingChunk)) && conn.Received().get().size() && *(conn.Received().get().rbegin()) != '\n') { if (conn.Received().size() > 1) { //make a copy of the first part std::string tmp = conn.Received().get();