Mercurial > hg > nginx-vendor-current
diff src/http/modules/ngx_http_scgi_module.c @ 666:bf8b55a5ac89 NGINX_1_1_17
nginx 1.1.17
*) Security: content of previously freed memory might be sent to a
client if backend returned specially crafted response.
Thanks to Matthew Daley.
*) Bugfix: in the embedded perl module if used from SSI.
Thanks to Matthew Daley.
*) Bugfix: in the ngx_http_uwsgi_module.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Thu, 15 Mar 2012 00:00:00 +0400 |
parents | d0f7a625f27c |
children | f41d4b305d22 |
line wrap: on
line diff
--- a/src/http/modules/ngx_http_scgi_module.c +++ b/src/http/modules/ngx_http_scgi_module.c @@ -941,8 +941,10 @@ ngx_http_scgi_process_header(ngx_http_re h->value.data = h->key.data + h->key.len + 1; h->lowcase_key = h->key.data + h->key.len + 1 + h->value.len + 1; - ngx_cpystrn(h->key.data, r->header_name_start, h->key.len + 1); - ngx_cpystrn(h->value.data, r->header_start, h->value.len + 1); + ngx_memcpy(h->key.data, r->header_name_start, h->key.len); + h->key.data[h->key.len] = '\0'; + ngx_memcpy(h->value.data, r->header_start, h->value.len); + h->value.data[h->value.len] = '\0'; if (h->key.len == r->lowcase_index) { ngx_memcpy(h->lowcase_key, r->lowcase_header, h->key.len); @@ -1384,7 +1386,8 @@ ngx_http_scgi_merge_params(ngx_conf_t *c if (prev->headers_hash.buckets #if (NGX_HTTP_CACHE) - && ((conf->upstream.cache == NULL) == (prev->upstream.cache == NULL)) + && ((conf->upstream.cache == NULL) + == (prev->upstream.cache == NULL)) #endif ) {