Mercurial > hg > nginx
changeset 6077:0395f788b080 stable-1.6
Resolver: fixed use-after-free memory access.
In 954867a2f0a6, we switched to using resolver node as the
timer event data, so make sure we do not free resolver node
memory until the corresponding timer is deleted.
author | Ruslan Ermilov <ru@nginx.com> |
---|---|
date | Thu, 20 Nov 2014 15:24:40 +0300 |
parents | 1d6eb39d05c9 |
children | 7ea6f5140ed9 |
files | src/core/ngx_resolver.c |
diffstat | 1 files changed, 4 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/core/ngx_resolver.c Mon Nov 17 16:38:48 2014 +0300 +++ b/src/core/ngx_resolver.c Thu Nov 20 15:24:40 2014 +0300 @@ -1568,8 +1568,6 @@ ngx_rbtree_delete(&r->name_rbtree, &rn->node); - ngx_resolver_free_node(r, rn); - /* unlock name mutex */ while (next) { @@ -1580,6 +1578,8 @@ ctx->handler(ctx); } + ngx_resolver_free_node(r, rn); + return; } @@ -2143,8 +2143,6 @@ ngx_rbtree_delete(tree, &rn->node); - ngx_resolver_free_node(r, rn); - /* unlock addr mutex */ while (next) { @@ -2155,6 +2153,8 @@ ctx->handler(ctx); } + ngx_resolver_free_node(r, rn); + return; }