Crop socket buffer removal to socket buffer size & warn.

Change-Id: I734b4682941d71eee02a25aab61c8e4353a11718
Reviewed-on: https://gerrit.libreoffice.org/69948
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Michael Meeks <michael.meeks@collabora.com>
This commit is contained in:
Michael Meeks
2019-03-30 11:30:39 +00:00
parent 38bb1db96c
commit d832fb3c9d

View File

@ -932,7 +932,11 @@ public:
/// Remove the first @count bytes from input buffer
void eraseFirstInputBytes(size_t count)
{
_inBuffer.erase(_inBuffer.begin(), _inBuffer.begin() + count);
size_t toErase = std::min(count, _inBuffer.size());
if (toErase < count)
LOG_ERR("#" << getFD() << ": attempted to remove: " << count << " which is > size: " << _inBuffer.size() << " clamped to " << toErase);
if (toErase > 0)
_inBuffer.erase(_inBuffer.begin(), _inBuffer.begin() + count);
}
/// Detects if we have an HTTP header in the provided message and