mirror of
https://github.com/nginx/nginx.git
synced 2025-06-11 12:22:41 +08:00
Image filter: large image handling.
If Content-Length header is not set, and the image size is larger than the buffer size, client will hang until a timeout occurs. Now NGX_HTTP_UNSUPPORTED_MEDIA_TYPE is returned immediately. diff -r d1403de41631 -r 4fae04f332b4 src/http/modules/ngx_http_image_filter_module.c
This commit is contained in:
parent
51f7761710
commit
be23dcb1a1
@ -478,7 +478,12 @@ ngx_http_image_read(ngx_http_request_t *r, ngx_chain_t *in)
|
||||
"image buf: %uz", size);
|
||||
|
||||
rest = ctx->image + ctx->length - p;
|
||||
size = (rest < size) ? rest : size;
|
||||
|
||||
if (size > rest) {
|
||||
ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
|
||||
"image filter: too big response");
|
||||
return NGX_ERROR;
|
||||
}
|
||||
|
||||
p = ngx_cpymem(p, b->pos, size);
|
||||
b->pos += size;
|
||||
|
Loading…
Reference in New Issue
Block a user