From 0071fbb9e6685b76a4865f460cb674020dfdf8ec Mon Sep 17 00:00:00 2001 From: Maxim Dounin Date: Tue, 24 Feb 2015 18:37:14 +0300 Subject: [PATCH] Core: fixed potential buffer overrun when initializing hash. Initial size as calculated from the number of elements may be bigger than max_size. If this happens, make sure to set size to max_size. Reported by Chris West. --- src/core/ngx_hash.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/ngx_hash.c b/src/core/ngx_hash.c index 65ad83947..e707c0998 100644 --- a/src/core/ngx_hash.c +++ b/src/core/ngx_hash.c @@ -312,7 +312,7 @@ ngx_hash_init(ngx_hash_init_t *hinit, ngx_hash_key_t *names, ngx_uint_t nelts) continue; } - size--; + size = hinit->max_size; ngx_log_error(NGX_LOG_WARN, hinit->pool->log, 0, "could not build optimal %s, you should increase "