aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorValentin Bartenev <vbart@nginx.com>2014-01-15 17:16:38 +0400
committerValentin Bartenev <vbart@nginx.com>2014-01-15 17:16:38 +0400
commitb2b43ca50f0bfdf31a600f61db28155f13382b22 (patch)
treede69045504b6e0bbbc1971c225107c73e3a68092 /src
parentd143119e3cb939b69cb77d5bce6ac37f16e7c197 (diff)
downloadnginx-b2b43ca50f0bfdf31a600f61db28155f13382b22.tar.gz
nginx-b2b43ca50f0bfdf31a600f61db28155f13382b22.zip
SPDY: fixed possible uninitialized memory access.
The frame->stream pointer should always be initialized for control frames since the check against it can be performed in ngx_http_spdy_filter_cleanup().
Diffstat (limited to 'src')
-rw-r--r--src/http/ngx_http_spdy.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/http/ngx_http_spdy.c b/src/http/ngx_http_spdy.c
index e57619654..01b8e284e 100644
--- a/src/http/ngx_http_spdy.c
+++ b/src/http/ngx_http_spdy.c
@@ -1633,8 +1633,8 @@ ngx_http_spdy_send_settings(ngx_http_spdy_connection_t *sc)
frame->first = cl;
frame->last = cl;
frame->handler = ngx_http_spdy_settings_frame_handler;
-#if (NGX_DEBUG)
frame->stream = NULL;
+#if (NGX_DEBUG)
frame->size = NGX_SPDY_FRAME_HEADER_SIZE
+ NGX_SPDY_SETTINGS_NUM_SIZE
+ NGX_SPDY_SETTINGS_PAIR_SIZE;
@@ -1722,6 +1722,7 @@ ngx_http_spdy_get_ctl_frame(ngx_http_spdy_connection_t *sc, size_t size,
frame->first = cl;
frame->last = cl;
frame->handler = ngx_http_spdy_ctl_frame_handler;
+ frame->stream = NULL;
}
frame->free = NULL;
@@ -1733,7 +1734,6 @@ ngx_http_spdy_get_ctl_frame(ngx_http_spdy_connection_t *sc, size_t size,
return NULL;
}
- frame->stream = NULL;
frame->size = size;
#endif