diff options
author | Maxim Dounin <mdounin@mdounin.ru> | 2012-08-06 10:48:09 +0000 |
---|---|---|
committer | Maxim Dounin <mdounin@mdounin.ru> | 2012-08-06 10:48:09 +0000 |
commit | 42a75bba535a387688cb708c54f33d592840e73f (patch) | |
tree | a575e6a7c49b29476884304d5fb31950fcd02459 /src/core | |
parent | 8ed4929a261f64c28c21e42f0f366c8d228fc790 (diff) | |
download | nginx-42a75bba535a387688cb708c54f33d592840e73f.tar.gz nginx-42a75bba535a387688cb708c54f33d592840e73f.zip |
Resolver: fixed possible memory leak in ngx_resolver_create().
Found by Coverity.
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/ngx_resolver.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/core/ngx_resolver.c b/src/core/ngx_resolver.c index 3e75e05a3..178e0831d 100644 --- a/src/core/ngx_resolver.c +++ b/src/core/ngx_resolver.c @@ -113,15 +113,6 @@ ngx_resolver_create(ngx_conf_t *cf, ngx_str_t *names, ngx_uint_t n) return NULL; } - if (n) { - if (ngx_array_init(&r->udp_connections, cf->pool, n, - sizeof(ngx_udp_connection_t)) - != NGX_OK) - { - return NULL; - } - } - cln->data = r; r->event = ngx_calloc(sizeof(ngx_event_t), cf->log); @@ -153,6 +144,15 @@ ngx_resolver_create(ngx_conf_t *cf, ngx_str_t *names, ngx_uint_t n) r->log = &cf->cycle->new_log; r->log_level = NGX_LOG_ERR; + if (n) { + if (ngx_array_init(&r->udp_connections, cf->pool, n, + sizeof(ngx_udp_connection_t)) + != NGX_OK) + { + return NULL; + } + } + for (i = 0; i < n; i++) { if (ngx_strncmp(names[i].data, "valid=", 6) == 0) { s.len = names[i].len - 6; |