]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Fix use after free
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Wed, 23 Aug 2017 19:20:35 +0000 (20:20 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Wed, 23 Aug 2017 19:20:35 +0000 (20:20 +0100)
src/lua/lua_common.c

index baab272264fa17c02076057de0c06ebb4cfd0911..2aed2f7a9baf5c00772b67b6a80c8f198147b76c 100644 (file)
@@ -1490,8 +1490,6 @@ rspamd_lua_cld_handler (struct rspamd_worker_signal_handler *sigh, void *ud)
                g_string_free (cbdata->out_buf, TRUE);
        }
 
-       g_free (cbdata);
-
        /* Notify main */
        memset (&srv_cmd, 0, sizeof (srv_cmd));
        srv_cmd.type = RSPAMD_SRV_ON_FORK;
@@ -1500,6 +1498,7 @@ rspamd_lua_cld_handler (struct rspamd_worker_signal_handler *sigh, void *ud)
        srv_cmd.cmd.on_fork.ppid = getpid ();
        rspamd_srv_send_command (cbdata->wrk, cbdata->ev_base, &srv_cmd, -1,
                        NULL, NULL);
+       g_free (cbdata);
 
        /* We are done with this SIGCHLD */
        return FALSE;