mirror of
https://github.com/nginx/nginx.git
synced 2025-07-25 14:46:20 +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);
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
if (conf->filter == NGX_HTTP_IMAGE_OFF) {
|
||||
@ -181,13 +188,6 @@ ngx_http_image_header_filter(ngx_http_request_t *r)
|
||||
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));
|
||||
if (ctx == NULL) {
|
||||
return NGX_ERROR;
|
||||
|
Loading…
Reference in New Issue
Block a user