From d0968ea60933574f419afc12347746362e56a7ac Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Sun, 19 Jan 2014 00:37:45 +0900 Subject: [PATCH] Tear down session if GOAWAY with stream ID != 0 --- lib/nghttp2_session.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/nghttp2_session.c b/lib/nghttp2_session.c index d5d4c1d5..80fa8ce6 100644 --- a/lib/nghttp2_session.c +++ b/lib/nghttp2_session.c @@ -2903,6 +2903,10 @@ int nghttp2_session_on_ping_received(nghttp2_session *session, int nghttp2_session_on_goaway_received(nghttp2_session *session, nghttp2_frame *frame) { + if(frame->hd.stream_id != 0) { + return nghttp2_session_handle_invalid_connection(session, frame, + NGHTTP2_PROTOCOL_ERROR); + } session->last_stream_id = frame->goaway.last_stream_id; session->goaway_flags |= NGHTTP2_GOAWAY_RECV; return nghttp2_session_call_on_frame_received(session, frame);