aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/spf.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@rambler-co.ru>2010-07-20 17:19:04 +0400
committerVsevolod Stakhov <vsevolod@rambler-co.ru>2010-07-20 17:19:04 +0400
commit18816c9485063d48a11b0536f299512924b49ab4 (patch)
tree4574566a79be3c85337f5c9163ada51d795f79b5 /src/plugins/spf.c
parent8dc9f3bed874f0944c4120fd9ec0c65eff0b2359 (diff)
downloadrspamd-18816c9485063d48a11b0536f299512924b49ab4.tar.gz
rspamd-18816c9485063d48a11b0536f299512924b49ab4.zip
* Fix another error with early task destroying
Diffstat (limited to 'src/plugins/spf.c')
-rw-r--r--src/plugins/spf.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/plugins/spf.c b/src/plugins/spf.c
index 6ab23ee37..315e57f58 100644
--- a/src/plugins/spf.c
+++ b/src/plugins/spf.c
@@ -162,10 +162,17 @@ spf_plugin_callback (struct spf_record *record, struct worker_task *task)
}
cur = g_list_next (cur);
}
+ if (record->addrs != NULL) {
+ /* Free addresses that we already proceed */
+ g_list_free (record->addrs);
+ record->addrs = NULL;
+ }
}
+
if (task->save.saved == 0) {
/* Call other filters */
task->save.saved = 1;
+ /* Note that here task MAY be destroyed */
process_filters (task);
}
}