File tree Expand file tree Collapse file tree 2 files changed +12
-2
lines changed Expand file tree Collapse file tree 2 files changed +12
-2
lines changed Original file line number Diff line number Diff line change @@ -318,7 +318,13 @@ impl Recv {
318318 Some ( Event :: Headers ( Client ( response) ) ) => Poll :: Ready ( Ok ( response) ) ,
319319 Some ( _) => panic ! ( "poll_response called after response returned" ) ,
320320 None => {
321- stream. state . ensure_recv_open ( ) ?;
321+ if !stream. state . ensure_recv_open ( ) ? {
322+ proto_err ! ( stream: "poll_response: stream={:?} is not opened;" , stream. id) ;
323+ return Poll :: Ready ( Err ( Error :: library_reset (
324+ stream. id ,
325+ Reason :: PROTOCOL_ERROR ,
326+ ) ) ) ;
327+ }
322328
323329 stream. recv_task = Some ( cx. waker ( ) . clone ( ) ) ;
324330 Poll :: Pending
Original file line number Diff line number Diff line change @@ -726,7 +726,11 @@ impl Inner {
726726 }
727727
728728 // The stream must be receive open
729- stream. state . ensure_recv_open ( ) ?;
729+ if !stream. state . ensure_recv_open ( ) ? {
730+ proto_err ! ( conn: "recv_push_promise: initiating stream is not opened" ) ;
731+ return Err ( Error :: library_go_away ( Reason :: PROTOCOL_ERROR ) ) ;
732+ }
733+
730734 stream. key ( )
731735 }
732736 None => {
You can’t perform that action at this time.
0 commit comments