aboutsummaryrefslogtreecommitdiffstats
path: root/src/libutil/map.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2019-02-26 16:51:07 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2019-02-26 16:55:58 +0000
commit2c316e86a137b0622863c18b2b6e9f09c693fbc3 (patch)
treee7f64475044f1c0c8cdc426451b7f37f536a4d46 /src/libutil/map.c
parent931e181c3202e5a92bcc614ec042fd46f032c4c3 (diff)
downloadrspamd-2c316e86a137b0622863c18b2b6e9f09c693fbc3.tar.gz
rspamd-2c316e86a137b0622863c18b2b6e9f09c693fbc3.zip
[Fix] Fix maps object update race condition
Issue: #2467
Diffstat (limited to 'src/libutil/map.c')
-rw-r--r--src/libutil/map.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/src/libutil/map.c b/src/libutil/map.c
index bab145e5e..d4687e433 100644
--- a/src/libutil/map.c
+++ b/src/libutil/map.c
@@ -1153,11 +1153,7 @@ rspamd_map_periodic_dtor (struct map_periodic_cbdata *periodic)
if (periodic->need_modify) {
/* We are done */
- periodic->map->fin_callback (&periodic->cbdata);
-
- if (periodic->cbdata.cur_data) {
- *periodic->map->user_data = periodic->cbdata.cur_data;
- }
+ periodic->map->fin_callback (&periodic->cbdata, periodic->map->user_data);
}
else {
/* Not modified */
@@ -2038,11 +2034,7 @@ rspamd_map_preload (struct rspamd_config *cfg)
}
if (succeed) {
- map->fin_callback (&fake_cbd.cbdata);
-
- if (fake_cbd.cbdata.cur_data) {
- *map->user_data = fake_cbd.cbdata.cur_data;
- }
+ map->fin_callback (&fake_cbd.cbdata, map->user_data);
}
else {
msg_info_map ("preload of %s failed", map->name);