Resolver: fixed allocation error handling while resolving SRV.
diff --git a/src/core/ngx_resolver.c b/src/core/ngx_resolver.c index e140ab6..a18fd1f 100644 --- a/src/core/ngx_resolver.c +++ b/src/core/ngx_resolver.c
@@ -443,7 +443,7 @@ name.data = ngx_resolver_alloc(r, name.len); if (name.data == NULL) { - return NGX_ERROR; + goto failed; } if (slen == ctx->service.len) { @@ -481,6 +481,8 @@ ngx_resolver_free(r, ctx->event); } +failed: + ngx_resolver_free(r, ctx); return NGX_ERROR;