diff options
Diffstat (limited to 'src/network')
-rw-r--r-- | src/network/access/http2/http2frames.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/network/access/http2/http2frames.cpp b/src/network/access/http2/http2frames.cpp index 471fb2c7fb..55e9f93b19 100644 --- a/src/network/access/http2/http2frames.cpp +++ b/src/network/access/http2/http2frames.cpp @@ -73,11 +73,15 @@ FrameStatus validate_frame_header(FrameType type, FrameFlags flags, quint32 payl return FrameStatus::sizeError; break; case FrameType::PING: - case FrameType::GOAWAY: - // 6.7 PING, 6.8 GOAWAY + // 6.7 PING if (payloadSize != 8) return FrameStatus::sizeError; break; + case FrameType::GOAWAY: + // 6.8 GOAWAY + if (payloadSize < 8) + return FrameStatus::sizeError; + break; case FrameType::RST_STREAM: case FrameType::WINDOW_UPDATE: // 6.4 RST_STREAM, 6.9 WINDOW_UPDATE |