Mercurial > hg > nginx-vendor-current
diff src/core/ngx_resolver.c @ 544:40c366b3535c NGINX_0_8_24
nginx 0.8.24
*) Bugfix: nginx always added "Content-Encoding: gzip" response header
line in 304 responses sent by ngx_http_gzip_static_module.
*) Bugfix: nginx could not be built without the --with-debug option;
the bug had appeared in 0.8.23.
*) Bugfix: the "unix:" parameter of the "set_real_ip_from" directive
inherited incorrectly from previous level.
*) Bugfix: in resolving empty name.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Wed, 11 Nov 2009 00:00:00 +0300 |
parents | 2b9e388c61f1 |
children | 25255878df91 |
line wrap: on
line diff
--- a/src/core/ngx_resolver.c +++ b/src/core/ngx_resolver.c @@ -1719,15 +1719,16 @@ static ngx_int_t ngx_resolver_create_name_query(ngx_resolver_node_t *rn, ngx_resolver_ctx_t *ctx) { u_char *p, *s; - size_t len; + size_t len, nlen; ngx_uint_t ident; ngx_resolver_qs_t *qs; ngx_resolver_query_t *query; - len = sizeof(ngx_resolver_query_t) - + 1 + ctx->name.len + 1 + sizeof(ngx_resolver_qs_t); - - p = ngx_resolver_calloc(ctx->resolver, len); + nlen = ctx->name.len ? (1 + ctx->name.len + 1) : 1; + + len = sizeof(ngx_resolver_query_t) + nlen + sizeof(ngx_resolver_qs_t); + + p = ngx_resolver_alloc(ctx->resolver, len); if (p == NULL) { return NGX_ERROR; } @@ -1754,8 +1755,7 @@ ngx_resolver_create_name_query(ngx_resol query->nns_hi = 0; query->nns_lo = 0; query->nar_hi = 0; query->nar_lo = 0; - p += sizeof(ngx_resolver_query_t) - + ctx->name.len ? (1 + ctx->name.len + 1) : 1; + p += sizeof(ngx_resolver_query_t) + nlen; qs = (ngx_resolver_qs_t *) p; @@ -1809,7 +1809,7 @@ ngx_resolver_create_addr_query(ngx_resol + sizeof(".255.255.255.255.in-addr.arpa.") - 1 + sizeof(ngx_resolver_qs_t); - p = ngx_resolver_calloc(ctx->resolver, len); + p = ngx_resolver_alloc(ctx->resolver, len); if (p == NULL) { return NGX_ERROR; }