# HG changeset patch # User Sergey Kandaurov # Date 1439472437 -10800 # Node ID 3b6d69857de22eb03b479223727c365e9035882b # Parent ddf35e019a80e458b7ad4bf0d20897fd2055dada Core: fixed potential division by zero when initializing hash. Found by Clang Static Analyzer. diff --git a/src/core/ngx_hash.c b/src/core/ngx_hash.c --- a/src/core/ngx_hash.c +++ b/src/core/ngx_hash.c @@ -257,6 +257,14 @@ ngx_hash_init(ngx_hash_init_t *hinit, ng ngx_uint_t i, n, key, size, start, bucket_size; ngx_hash_elt_t *elt, **buckets; + if (hinit->max_size == 0) { + ngx_log_error(NGX_LOG_EMERG, hinit->pool->log, 0, + "could not build %s, you should " + "increase %s_max_size: %i", + hinit->name, hinit->name, hinit->max_size); + return NGX_ERROR; + } + for (n = 0; n < nelts; n++) { if (hinit->bucket_size < NGX_HASH_ELT_SIZE(&names[n]) + sizeof(void *)) {