aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/ngx_palloc.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/core/ngx_palloc.c b/src/core/ngx_palloc.c
index 64f958e5a..8c69db773 100644
--- a/src/core/ngx_palloc.c
+++ b/src/core/ngx_palloc.c
@@ -154,13 +154,19 @@ static void *
ngx_palloc_block(ngx_pool_t *pool, size_t size)
{
u_char *m;
+ size_t psize;
ngx_pool_t *p, *new, *current;
- new = ngx_create_pool((size_t) (pool->d.end - (u_char *) pool), pool->log);
+ psize = (size_t) (pool->d.end - (u_char *) pool);
+
+ new = ngx_alloc(size, pool->log);
if (new == NULL) {
return NULL;
}
+ new->d.end = (u_char *) new + psize;
+ new->d.next = NULL;
+
current = pool->current;
for (p = current; p->d.next; p = p->d.next) {