changeset 6455:ad2360782ecd

Core: introduced the NGX_DEBUG_PALLOC macro. It allows to turn off accumulation of small pool allocations into a big preallocated chunk of memory. This is useful for debugging memory access with sanitizer, since such accumulation can cover buffer overruns from being detected.
author Valentin Bartenev <vbart@nginx.com>
date Wed, 23 Mar 2016 17:44:04 +0300
parents f61472978419
children c94aba230a5a
files src/core/ngx_palloc.c
diffstat 1 files changed, 4 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/core/ngx_palloc.c
+++ b/src/core/ngx_palloc.c
@@ -122,9 +122,11 @@ ngx_reset_pool(ngx_pool_t *pool)
 void *
 ngx_palloc(ngx_pool_t *pool, size_t size)
 {
+#if !(NGX_DEBUG_PALLOC)
     if (size <= pool->max) {
         return ngx_palloc_small(pool, size, 1);
     }
+#endif
 
     return ngx_palloc_large(pool, size);
 }
@@ -133,9 +135,11 @@ ngx_palloc(ngx_pool_t *pool, size_t size
 void *
 ngx_pnalloc(ngx_pool_t *pool, size_t size)
 {
+#if !(NGX_DEBUG_PALLOC)
     if (size <= pool->max) {
         return ngx_palloc_small(pool, size, 0);
     }
+#endif
 
     return ngx_palloc_large(pool, size);
 }