From c876dda6d0c85665ed7e91ea2936f37764cb63fe Mon Sep 17 00:00:00 2001 From: Sean McArthur Date: Thu, 9 Dec 2021 14:21:20 -0800 Subject: [PATCH] Fix panic when receiving malformed push promise with stream id 0 --- src/frame/headers.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/frame/headers.rs b/src/frame/headers.rs index 05d7723..bcb9050 100644 --- a/src/frame/headers.rs +++ b/src/frame/headers.rs @@ -400,6 +400,10 @@ impl PushPromise { let flags = PushPromiseFlag(head.flag()); let mut pad = 0; + if head.stream_id().is_zero() { + return Err(Error::InvalidStreamId); + } + // Read the padding length if flags.is_padded() { if src.is_empty() {