http: Prevent assert on bad websocket data.

This commit is contained in:
Unknown W. Brackets 2020-12-28 09:30:36 -08:00
parent 52c6169a59
commit 589d83d4da
3 changed files with 8 additions and 0 deletions

View file

@ -164,6 +164,12 @@ bool InputSink::Skip(size_t bytes) {
return true;
}
void InputSink::Discard() {
read_ = 0;
write_ = 0;
valid_ = 0;
}
void InputSink::Fill() {
// Avoid small reads if possible.
if (BUFFER_SIZE - valid_ > PRESSURE) {

View file

@ -19,6 +19,7 @@ public:
size_t TakeAtMost(char *buf, size_t bytes);
// Skip exactly this number of bytes, or fail.
bool Skip(size_t bytes);
void Discard();
bool Empty();
bool TryFill();

View file

@ -196,6 +196,7 @@ void HandleDebuggerRequest(const http::Request &request) {
}
delete ws;
request.In()->Discard();
UpdateConnected(-1);
}