fix segfault in resolver: ngx_resolve_name_done() and ngx_resolve_addr_done() did not delete contexts from a resolver node waiting list.
diff --git a/src/core/ngx_resolver.c b/src/core/ngx_resolver.c index 9adc2d2..82785c2 100644 --- a/src/core/ngx_resolver.c +++ b/src/core/ngx_resolver.c
@@ -464,6 +464,7 @@ ctx->next = rn->waiting; rn->waiting = ctx; + ctx->state = NGX_AGAIN; return NGX_AGAIN; } @@ -625,6 +626,7 @@ ctx->next = rn->waiting; rn->waiting = ctx; + ctx->state = NGX_AGAIN; /* unlock addr mutex */