mirror of
https://github.com/nginx/nginx.git
synced 2025-06-07 17:52:38 +08:00
fix memory leaks, use unlocked ngx_resolver_free() for seldom failed cases
This commit is contained in:
parent
8ee01f5cb8
commit
7c4cf27aff
@ -212,14 +212,13 @@ ngx_resolve_name(ngx_resolver_ctx_t *ctx)
|
|||||||
return NGX_OK;
|
return NGX_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* lock alloc mutex */
|
/* NGX_ERROR */
|
||||||
|
|
||||||
if (ctx->event) {
|
if (ctx->event) {
|
||||||
ngx_resolver_free_locked(r, ctx->event);
|
ngx_resolver_free(r, ctx->event);
|
||||||
ctx->event = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* unlock alloc mutex */
|
ngx_resolver_free(r, ctx);
|
||||||
|
|
||||||
return NGX_ERROR;
|
return NGX_ERROR;
|
||||||
}
|
}
|
||||||
@ -280,7 +279,15 @@ done:
|
|||||||
|
|
||||||
/* unlock name mutex */
|
/* unlock name mutex */
|
||||||
|
|
||||||
ngx_resolver_free(r, ctx);
|
/* lock alloc mutex */
|
||||||
|
|
||||||
|
if (ctx->event) {
|
||||||
|
ngx_resolver_free_locked(r, ctx->event);
|
||||||
|
}
|
||||||
|
|
||||||
|
ngx_resolver_free_locked(r, ctx);
|
||||||
|
|
||||||
|
/* unlock alloc mutex */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -573,15 +580,11 @@ failed:
|
|||||||
|
|
||||||
/* unlock addr mutex */
|
/* unlock addr mutex */
|
||||||
|
|
||||||
/* lock alloc mutex */
|
|
||||||
|
|
||||||
if (ctx->event) {
|
if (ctx->event) {
|
||||||
ngx_resolver_free_locked(r, ctx->event);
|
ngx_resolver_free(r, ctx->event);
|
||||||
}
|
}
|
||||||
|
|
||||||
ngx_resolver_free_locked(r, ctx);
|
ngx_resolver_free(r, ctx);
|
||||||
|
|
||||||
/* unlock alloc mutex */
|
|
||||||
|
|
||||||
return NGX_ERROR;
|
return NGX_ERROR;
|
||||||
}
|
}
|
||||||
@ -640,7 +643,15 @@ done:
|
|||||||
|
|
||||||
/* unlock addr mutex */
|
/* unlock addr mutex */
|
||||||
|
|
||||||
ngx_resolver_free(r, ctx);
|
/* lock alloc mutex */
|
||||||
|
|
||||||
|
if (ctx->event) {
|
||||||
|
ngx_resolver_free_locked(r, ctx->event);
|
||||||
|
}
|
||||||
|
|
||||||
|
ngx_resolver_free_locked(r, ctx);
|
||||||
|
|
||||||
|
/* unlock alloc mutex */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user