From 7458f6667530aef24272e5b5dc8815c27b35b05f Mon Sep 17 00:00:00 2001 From: Valentin Bartenev Date: Tue, 19 Apr 2016 17:38:49 +0300 Subject: [PATCH] HTTP/2: skip data frames in case of internal errors. This prevents possible processing of such frames and triggering rb->post_handler if an error occurred during r->request_body initialization. --- src/http/v2/ngx_http_v2.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/http/v2/ngx_http_v2.c b/src/http/v2/ngx_http_v2.c index 421cfa03a..dd712c121 100644 --- a/src/http/v2/ngx_http_v2.c +++ b/src/http/v2/ngx_http_v2.c @@ -3473,6 +3473,7 @@ ngx_http_v2_read_request_body(ngx_http_request_t *r, } if (rb->buf == NULL) { + stream->skip_data = 1; return NGX_HTTP_INTERNAL_SERVER_ERROR; } @@ -3494,6 +3495,7 @@ ngx_http_v2_read_request_body(ngx_http_request_t *r, stream->recv_window) == NGX_ERROR) { + stream->skip_data = 1; return NGX_HTTP_INTERNAL_SERVER_ERROR; } }