Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nginx/nginx.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Dounin <mdounin@mdounin.ru>2015-02-24 18:37:14 +0300
committerMaxim Dounin <mdounin@mdounin.ru>2015-02-24 18:37:14 +0300
commit7dd799357d7fd853b488b52ae17f9d0ee3142941 (patch)
tree565c6519980a400dc6ba7dd66479b0ed4ad75b93 /src/core/ngx_hash.c
parenta4ce770a89f12924a61a5cd2ee6a862648fe0203 (diff)
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.
Diffstat (limited to 'src/core/ngx_hash.c')
-rw-r--r--src/core/ngx_hash.c2
1 files changed, 1 insertions, 1 deletions
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 "