From: Vsevolod Stakhov Date: Mon, 30 Dec 2019 20:05:06 +0000 (+0000) Subject: [Minor] Lua_tcp: Do not decrease item refcount with no watcher X-Git-Tag: 2.3~161 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=82e915649d2f4aa62a1382430c029c53abd066b1;p=rspamd.git [Minor] Lua_tcp: Do not decrease item refcount with no watcher --- 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);