]> git.kaiwu.me - nginx.git/commitdiff
Fixed potential leak of temp pool.
authorEran Kornblau <erankor@gmail.com>
Mon, 15 Jun 2020 07:58:31 +0000 (03:58 -0400)
committerEran Kornblau <erankor@gmail.com>
Mon, 15 Jun 2020 07:58:31 +0000 (03:58 -0400)
In case ngx_hash_add_key() fails, need to goto failed instead of returning,
so that temp_pool will be destoryed.

src/http/ngx_http.c

index 79ef9c644c83a7cd05eb07442994cfe9d48a669d..a35e9bb8a233e90165dc4dcef6caa0004fcf4d8b 100644 (file)
@@ -1469,14 +1469,14 @@ ngx_http_server_names(ngx_conf_t *cf, ngx_http_core_main_conf_t *cmcf,
                                   NGX_HASH_WILDCARD_KEY);
 
             if (rc == NGX_ERROR) {
-                return NGX_ERROR;
+                goto failed;
             }
 
             if (rc == NGX_DECLINED) {
                 ngx_log_error(NGX_LOG_EMERG, cf->log, 0,
                               "invalid server name or wildcard \"%V\" on %V",
                               &name[n].name, &addr->opt.addr_text);
-                return NGX_ERROR;
+                goto failed;
             }
 
             if (rc == NGX_BUSY) {