commit 82e9156: [Minor] Lua_tcp: Do not decrease item refcount with no watcher

Vsevolod Stakhov vsevolod at highsecure.ru
Mon Dec 30 20:07:06 UTC 2019


Author: Vsevolod Stakhov
Date: 2019-12-30 20:05:06 +0000
URL: https://github.com/rspamd/rspamd/commit/82e915649d2f4aa62a1382430c029c53abd066b1 (HEAD -> master)

[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);
 


More information about the Commits mailing list