From: Vsevolod Stakhov Date: Wed, 20 Aug 2014 14:35:01 +0000 (+0100) Subject: Fix lua maps processing. X-Git-Tag: 0.7.0~126 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=78b4c55e9ef58c9ca136607946ab5913151db7eb;p=rspamd.git Fix lua maps processing. --- diff --git a/src/lua/lua_config.c b/src/lua/lua_config.c index 2862c62de..5dfbe90d6 100644 --- a/src/lua/lua_config.c +++ b/src/lua/lua_config.c @@ -961,10 +961,11 @@ lua_map_read (rspamd_mempool_t *pool, gchar *chunk, gint len, struct lua_map_callback_data *cbdata, *old; if (data->cur_data == NULL) { - cbdata = g_slice_alloc (sizeof (*cbdata)); + cbdata = g_slice_alloc0 (sizeof (*cbdata)); old = (struct lua_map_callback_data *)data->prev_data; cbdata->L = old->L; cbdata->ref = old->ref; + data->cur_data = cbdata; } else { cbdata = (struct lua_map_callback_data *)data->cur_data; @@ -992,6 +993,7 @@ lua_map_fin (rspamd_mempool_t * pool, struct map_cb_data *data) g_string_free (old->data, TRUE); } g_slice_free1 (sizeof (*old), old); + data->prev_data = NULL; } if (data->cur_data) {