diff options
author | Ruslan Ermilov <ru@nginx.com> | 2016-12-16 14:53:28 +0300 |
---|---|---|
committer | Ruslan Ermilov <ru@nginx.com> | 2016-12-16 14:53:28 +0300 |
commit | 3a8532219a0531d5fbb33e7f4c2f9531c4c924b9 (patch) | |
tree | 6e81909fa8d01e8892d8f02d072ab732bd8086db | |
parent | 523aee98fca29d008595cb004f541558a10e3445 (diff) | |
download | nginx-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.c | 4 |
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); } |