aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuslan Ermilov <ru@nginx.com>2016-12-16 14:53:28 +0300
committerRuslan Ermilov <ru@nginx.com>2016-12-16 14:53:28 +0300
commit3a8532219a0531d5fbb33e7f4c2f9531c4c924b9 (patch)
tree6e81909fa8d01e8892d8f02d072ab732bd8086db
parent523aee98fca29d008595cb004f541558a10e3445 (diff)
downloadnginx-3a8532219a0531d5fbb33e7f4c2f9531c4c924b9.tar.gz
nginx-3a8532219a0531d5fbb33e7f4c2f9531c4c924b9.zip
Resolver: fixed possible use-after-free in worker on fast shutdown.
The fix in a3dc657f4e95 was incomplete.
-rw-r--r--src/core/ngx_resolver.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/core/ngx_resolver.c b/src/core/ngx_resolver.c
index 834196a0a..fc25c6633 100644
--- a/src/core/ngx_resolver.c
+++ b/src/core/ngx_resolver.c
@@ -351,6 +351,10 @@ ngx_resolver_cleanup_tree(ngx_resolver_t *r, ngx_rbtree_t *tree)
next = ctx->next;
if (ctx->event) {
+ if (ctx->event->timer_set) {
+ ngx_del_timer(ctx->event);
+ }
+
ngx_resolver_free(r, ctx->event);
}