mirror of
https://github.com/nginx/nginx.git
synced 2025-07-26 07:06:55 +08:00
test finalized image filter context before testing image_filter off
this fixes SIGFPE if image filter errors are passed to named location
This commit is contained in:
parent
40d6ee9ade
commit
fd61ab4550
@ -162,6 +162,13 @@ ngx_http_image_header_filter(ngx_http_request_t *r)
|
|||||||
return ngx_http_next_header_filter(r);
|
return ngx_http_next_header_filter(r);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ctx = ngx_http_get_module_ctx(r, ngx_http_image_filter_module);
|
||||||
|
|
||||||
|
if (ctx) {
|
||||||
|
ngx_http_set_ctx(r, NULL, ngx_http_image_filter_module);
|
||||||
|
return ngx_http_next_header_filter(r);
|
||||||
|
}
|
||||||
|
|
||||||
conf = ngx_http_get_module_loc_conf(r, ngx_http_image_filter_module);
|
conf = ngx_http_get_module_loc_conf(r, ngx_http_image_filter_module);
|
||||||
|
|
||||||
if (conf->filter == NGX_HTTP_IMAGE_OFF) {
|
if (conf->filter == NGX_HTTP_IMAGE_OFF) {
|
||||||
@ -181,13 +188,6 @@ ngx_http_image_header_filter(ngx_http_request_t *r)
|
|||||||
return NGX_ERROR;
|
return NGX_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx = ngx_http_get_module_ctx(r, ngx_http_image_filter_module);
|
|
||||||
|
|
||||||
if (ctx) {
|
|
||||||
ngx_http_set_ctx(r, NULL, ngx_http_image_filter_module);
|
|
||||||
return ngx_http_next_header_filter(r);
|
|
||||||
}
|
|
||||||
|
|
||||||
ctx = ngx_pcalloc(r->pool, sizeof(ngx_http_image_filter_ctx_t));
|
ctx = ngx_pcalloc(r->pool, sizeof(ngx_http_image_filter_ctx_t));
|
||||||
if (ctx == NULL) {
|
if (ctx == NULL) {
|
||||||
return NGX_ERROR;
|
return NGX_ERROR;
|
||||||
|
Loading…
Reference in New Issue
Block a user