diff options
author | Igor Sysoev <igor@sysoev.ru> | 2009-01-30 11:56:45 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2009-01-30 11:56:45 +0000 |
commit | 2c01fd32f24a25ef6276bda2a0dcb38bfc42263d (patch) | |
tree | 5db413d848e937aba11d3598060238973dbed50a | |
parent | 867d63bc1a0d9777d665c55774e7fde47c6471d3 (diff) | |
download | nginx-2c01fd32f24a25ef6276bda2a0dcb38bfc42263d.tar.gz nginx-2c01fd32f24a25ef6276bda2a0dcb38bfc42263d.zip |
use length of uncompressed name
-rw-r--r-- | src/core/ngx_resolver.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/core/ngx_resolver.c b/src/core/ngx_resolver.c index 8e8d524d9..cbc650531 100644 --- a/src/core/ngx_resolver.c +++ b/src/core/ngx_resolver.c @@ -1516,24 +1516,23 @@ ngx_resolver_process_ptr(ngx_resolver_t *r, u_char *buf, size_t n, goto short_response; } - len -= 2; - if (ngx_resolver_copy(r, &name, buf, &buf[i], &buf[n]) != NGX_OK) { return; } ngx_log_debug1(NGX_LOG_DEBUG_CORE, r->log, 0, "resolver an:%V", &name); - if (len != (size_t) rn->nlen || ngx_strncmp(name.data, rn->name, len) != 0) + if (name.len != (size_t) rn->nlen + || ngx_strncmp(name.data, rn->name, name.len) != 0) { if (rn->nlen) { ngx_resolver_free(r, rn->name); } - rn->nlen = len; + rn->nlen = name.len; rn->name = name.data; - name.data = ngx_resolver_dup(r, rn->name, len); + name.data = ngx_resolver_dup(r, rn->name, name.len); if (name.data == NULL) { goto failed; } |