# HG changeset patch # User Igor Sysoev # Date 1233239389 0 # Node ID 30ec8c5ac75bebd185930b3f1665b80333a181cd # Parent d4fd929fb4861ba2c2907a832944f5cc7c023ec0 fix reverse resolving cache: it stored zero length names *) free name only if it has been already allocated *) store name length diff --git a/src/core/ngx_resolver.c b/src/core/ngx_resolver.c --- a/src/core/ngx_resolver.c +++ b/src/core/ngx_resolver.c @@ -1523,7 +1523,11 @@ ngx_resolver_process_ptr(ngx_resolver_t if (len != (size_t) rn->nlen || ngx_strncmp(name.data, rn->name, len) != 0) { - ngx_resolver_free(r, rn->name); + if (rn->nlen) { + ngx_resolver_free(r, rn->name); + } + + rn->nlen = len; rn->name = name.data; name.data = ngx_resolver_dup(r, rn->name, len);