Handle extension frame in session_inbound_frame_reset

This commit is contained in:
Tatsuhiro Tsujikawa 2016-02-25 00:45:24 +09:00
parent bc933e9981
commit 40c1b29f36
1 changed files with 6 additions and 0 deletions

View File

@ -231,6 +231,8 @@ static void session_inbound_frame_reset(nghttp2_session *session) {
nghttp2_session_new(), we rely on the fact that nghttp2_session_new(), we rely on the fact that
iframe->frame.hd.type is 0, so that no free is performed. */ iframe->frame.hd.type is 0, so that no free is performed. */
switch (iframe->frame.hd.type) { switch (iframe->frame.hd.type) {
case NGHTTP2_DATA:
break;
case NGHTTP2_HEADERS: case NGHTTP2_HEADERS:
nghttp2_frame_headers_free(&iframe->frame.headers, mem); nghttp2_frame_headers_free(&iframe->frame.headers, mem);
break; break;
@ -255,6 +257,10 @@ static void session_inbound_frame_reset(nghttp2_session *session) {
case NGHTTP2_WINDOW_UPDATE: case NGHTTP2_WINDOW_UPDATE:
nghttp2_frame_window_update_free(&iframe->frame.window_update); nghttp2_frame_window_update_free(&iframe->frame.window_update);
break; break;
default:
/* extension frame */
nghttp2_frame_extension_free(&iframe->frame.ext);
break;
} }
memset(&iframe->frame, 0, sizeof(nghttp2_frame)); memset(&iframe->frame, 0, sizeof(nghttp2_frame));