From 82e915649d2f4aa62a1382430c029c53abd066b1 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Mon, 30 Dec 2019 20:05:06 +0000 Subject: [PATCH] [Minor] Lua_tcp: Do not decrease item refcount with no watcher --- src/lua/lua_tcp.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lua/lua_tcp.c b/src/lua/lua_tcp.c index 09d572199..1edd7127e 100644 --- a/src/lua/lua_tcp.c +++ b/src/lua/lua_tcp.c @@ -1768,6 +1768,7 @@ lua_tcp_request (lua_State *L) if (rspamd_session_blocked (session)) { lua_tcp_push_error (cbd, TRUE, "async session is the blocked state"); TCP_RELEASE (cbd); + cbd->item = NULL; /* To avoid decrease with no watcher */ lua_pushboolean (L, FALSE); return 1; @@ -1784,6 +1785,7 @@ lua_tcp_request (lua_State *L) lua_tcp_push_error (cbd, TRUE, "cannot connect to the host: %s", host); lua_pushboolean (L, FALSE); + /* No reset of the item as watcher has been registered */ TCP_RELEASE (cbd); return 1; @@ -1795,7 +1797,7 @@ lua_tcp_request (lua_State *L) RDNS_REQUEST_A, host)) { lua_tcp_push_error (cbd, TRUE, "cannot resolve host: %s", host); lua_pushboolean (L, FALSE); - + cbd->item = NULL; /* To avoid decrease with no watcher */ TCP_RELEASE (cbd); return 1; @@ -1809,6 +1811,7 @@ lua_tcp_request (lua_State *L) RDNS_REQUEST_A, host)) { lua_tcp_push_error (cbd, TRUE, "cannot resolve host: %s", host); lua_pushboolean (L, FALSE); + cbd->item = NULL; /* To avoid decrease with no watcher */ TCP_RELEASE (cbd); -- 2.39.5