aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2019-12-16 14:16:26 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2019-12-16 14:16:26 +0000
commitbd3b1b6d81ea91e3e4781c226e24d7162fa70e34 (patch)
treef363dd12771eeaaeb88fb47358fd98fca6786ae0 /src
parentce6f5681d7e3e6f95ede320a8dd10fb6d6865aca (diff)
downloadrspamd-bd3b1b6d81ea91e3e4781c226e24d7162fa70e34.tar.gz
rspamd-bd3b1b6d81ea91e3e4781c226e24d7162fa70e34.zip
[Minor] Fix use after free
Diffstat (limited to 'src')
-rw-r--r--src/lua/lua_http.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/lua/lua_http.c b/src/lua/lua_http.c
index f7dd01e87..6ad5e6d21 100644
--- a/src/lua/lua_http.c
+++ b/src/lua/lua_http.c
@@ -467,6 +467,11 @@ static void
lua_http_dns_handler (struct rdns_reply *reply, gpointer ud)
{
struct lua_http_cbdata *cbd = (struct lua_http_cbdata *)ud;
+ struct rspamd_symcache_item *item;
+ struct rspamd_task *task;
+
+ task = cbd->task;
+ item = cbd->item;
if (reply->code != RDNS_RC_NOERROR) {
lua_http_push_error (cbd, "unable to resolve host");
@@ -497,8 +502,8 @@ lua_http_dns_handler (struct rdns_reply *reply, gpointer ud)
REF_RELEASE (cbd);
}
- if (cbd->item) {
- rspamd_symcache_item_async_dec_check (cbd->task, cbd->item, M);
+ if (item) {
+ rspamd_symcache_item_async_dec_check (task, item, M);
}
}