[nginx] Slice filter: improved memory allocation error handling.
noreply at nginx.com
noreply at nginx.com
Mon Mar 10 16:33:02 UTC 2025
details: https://github.com/nginx/nginx/commit/d31305653701bd99e8e5e6aa48094599a08f9f12
branches: master
commit: d31305653701bd99e8e5e6aa48094599a08f9f12
user: Sergey Kandaurov <pluknet at nginx.com>
date: Thu, 27 Feb 2025 16:09:50 +0400
description:
Slice filter: improved memory allocation error handling.
As uncovered by recent addition in slice.t, a partially initialized
context, coupled with HTTP 206 response from stub backend, might be
accessed in the next slice subrequest.
Found by bad memory allocator simulation.
---
src/http/modules/ngx_http_slice_filter_module.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/http/modules/ngx_http_slice_filter_module.c b/src/http/modules/ngx_http_slice_filter_module.c
index 3b0bef629..67dc14c82 100644
--- a/src/http/modules/ngx_http_slice_filter_module.c
+++ b/src/http/modules/ngx_http_slice_filter_module.c
@@ -419,13 +419,13 @@ ngx_http_slice_range_variable(ngx_http_request_t *r,
return NGX_ERROR;
}
- ngx_http_set_ctx(r, ctx, ngx_http_slice_filter_module);
-
p = ngx_pnalloc(r->pool, sizeof("bytes=-") - 1 + 2 * NGX_OFF_T_LEN);
if (p == NULL) {
return NGX_ERROR;
}
+ ngx_http_set_ctx(r, ctx, ngx_http_slice_filter_module);
+
ctx->start = slcf->size * (ngx_http_slice_get_start(r) / slcf->size);
ctx->range.data = p;
More information about the nginx-devel
mailing list