]> git.kaiwu.me - nginx.git/commitdiff
Resolver: fixed possible use-after-free in worker on fast shutdown.
authorRuslan Ermilov <ru@nginx.com>
Fri, 16 Dec 2016 11:53:28 +0000 (14:53 +0300)
committerRuslan Ermilov <ru@nginx.com>
Fri, 16 Dec 2016 11:53:28 +0000 (14:53 +0300)
The fix in a3dc657f4e95 was incomplete.

src/core/ngx_resolver.c

index 834196a0a4ca90fffd8ab3b6686772b040768df2..fc25c66337ff6bf2d109201a81e34a274ac7bfab 100644 (file)
@@ -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);
             }