aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/surbl.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2017-06-10 12:39:30 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2017-06-10 12:39:30 +0100
commitde56563f68a2127119deb5bbbb26cfc3b12369fe (patch)
tree75b80175b3d7c389f69265260c086143f704aad0 /src/plugins/surbl.c
parentf2bf0f2db2f558584b632d92bb87e7028cb0dfad (diff)
downloadrspamd-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.c6
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");