aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2009-01-30 11:56:45 +0000
committerIgor Sysoev <igor@sysoev.ru>2009-01-30 11:56:45 +0000
commit2c01fd32f24a25ef6276bda2a0dcb38bfc42263d (patch)
tree5db413d848e937aba11d3598060238973dbed50a
parent867d63bc1a0d9777d665c55774e7fde47c6471d3 (diff)
downloadnginx-2c01fd32f24a25ef6276bda2a0dcb38bfc42263d.tar.gz
nginx-2c01fd32f24a25ef6276bda2a0dcb38bfc42263d.zip
use length of uncompressed name
-rw-r--r--src/core/ngx_resolver.c9
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;
}