diff options
author | Valentin Bartenev <vbart@nginx.com> | 2014-01-22 04:58:19 +0400 |
---|---|---|
committer | Valentin Bartenev <vbart@nginx.com> | 2014-01-22 04:58:19 +0400 |
commit | 6b949b3920b0ca0aa2a4e736927a562c13a04376 (patch) | |
tree | 440a037f22527b4a23af65f965e7bbbe27fcfaac | |
parent | ddc22dcb9ca303b0285de6b49a5f2b6576bd6951 (diff) | |
download | nginx-6b949b3920b0ca0aa2a4e736927a562c13a04376.tar.gz nginx-6b949b3920b0ca0aa2a4e736927a562c13a04376.zip |
SPDY: fixed possible segfault.
While processing a DATA frame, the link to related stream is stored in spdy
connection object as part of connection state. But this stream can be closed
between receiving parts of the frame.
-rw-r--r-- | src/http/ngx_http_spdy.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/http/ngx_http_spdy.c b/src/http/ngx_http_spdy.c index 7c93dc49a..f4f610a82 100644 --- a/src/http/ngx_http_spdy.c +++ b/src/http/ngx_http_spdy.c @@ -2626,6 +2626,10 @@ ngx_http_spdy_close_stream(ngx_http_spdy_stream_t *stream, ngx_int_t rc) } } + if (sc->stream == stream) { + sc->stream = NULL; + } + sscf = ngx_http_get_module_srv_conf(sc->http_connection->conf_ctx, ngx_http_spdy_module); |