diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2017-06-10 12:39:30 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2017-06-10 12:39:30 +0100 |
commit | de56563f68a2127119deb5bbbb26cfc3b12369fe (patch) | |
tree | 75b80175b3d7c389f69265260c086143f704aad0 /src/plugins/surbl.c | |
parent | f2bf0f2db2f558584b632d92bb87e7028cb0dfad (diff) | |
download | rspamd-de56563f68a2127119deb5bbbb26cfc3b12369fe.tar.gz rspamd-de56563f68a2127119deb5bbbb26cfc3b12369fe.zip |
[Fix] Fix order of operations to avoid race condition
Diffstat (limited to 'src/plugins/surbl.c')
-rw-r--r-- | src/plugins/surbl.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/plugins/surbl.c b/src/plugins/surbl.c index c84cfdc88..286abf34c 100644 --- a/src/plugins/surbl.c +++ b/src/plugins/surbl.c @@ -1801,10 +1801,7 @@ surbl_continue_process_handler (lua_State *L) param = (struct redirector_param *)lua_topointer (L, 2); if (param != NULL) { - task = param->task; - rspamd_session_watcher_pop (task->s, param->w); - param->w = NULL; if (nurl != NULL) { msg_info_surbl ("<%s> got reply from redirector: '%*s' -> '%*s'", @@ -1841,6 +1838,9 @@ surbl_continue_process_handler (lua_State *L) param->task->message_id, param->url->urllen, param->url->string); } + + rspamd_session_watcher_pop (task->s, param->w); + param->w = NULL; } else { return luaL_error (L, "invalid arguments"); |