]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
Avoid use-after-free.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Mon, 26 Oct 2015 22:22:09 +0000 (22:22 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Mon, 26 Oct 2015 22:22:09 +0000 (22:22 +0000)
src/controller.c

index dde2944f52d87fe07b10bbb3209bb988c38c9cd0..55f1a3bd5f1df6f0b20b5394d9eae33b37ef420e 100644 (file)
@@ -2021,16 +2021,18 @@ rspamd_controller_finish_handler (struct rspamd_http_connection_entry *conn_ent)
        struct rspamd_controller_session *session = conn_ent->ud;
 
        session->ctx->worker->srv->stat->control_connections_count++;
+       msg_debug_session ("destroy session %p", session);
+
        if (session->task != NULL) {
                rspamd_session_destroy (session->task->s);
        }
+
        if (session->pool) {
                rspamd_mempool_delete (session->pool);
        }
 
        session->wrk->nconns --;
        rspamd_inet_address_destroy (session->from_addr);
-       msg_debug_session ("destroy session %p", session);
        g_slice_free1 (sizeof (struct rspamd_controller_session), session);
 }