From 9d08bda415b9c987b7a3503bf5fa45cfda15df2e Mon Sep 17 00:00:00 2001 From: Valentin Bartenev Date: Wed, 23 Mar 2016 17:44:04 +0300 Subject: [PATCH] Core: use ngx_palloc_small() to allocate ngx_pool_large_t. This structure cannot be allocated as a large block anyway, otherwise that will result in infinite recursion, since each large allocation requires to allocate another ngx_pool_large_t. The room for the structure is guaranteed by the NGX_MIN_POOL_SIZE constant. --- src/core/ngx_palloc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/ngx_palloc.c b/src/core/ngx_palloc.c index 587a1e587..91e7cd71c 100644 --- a/src/core/ngx_palloc.c +++ b/src/core/ngx_palloc.c @@ -231,7 +231,7 @@ ngx_palloc_large(ngx_pool_t *pool, size_t size) } } - large = ngx_palloc(pool, sizeof(ngx_pool_large_t)); + large = ngx_palloc_small(pool, sizeof(ngx_pool_large_t), 1); if (large == NULL) { ngx_free(p); return NULL; @@ -256,7 +256,7 @@ ngx_pmemalign(ngx_pool_t *pool, size_t size, size_t alignment) return NULL; } - large = ngx_palloc(pool, sizeof(ngx_pool_large_t)); + large = ngx_palloc_small(pool, sizeof(ngx_pool_large_t), 1); if (large == NULL) { ngx_free(p); return NULL;