]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
Revert "[Minor] Try to fix refcounts related crash"
authorVsevolod Stakhov <vsevolod@rspamd.com>
Sat, 24 Sep 2022 12:03:30 +0000 (13:03 +0100)
committerVsevolod Stakhov <vsevolod@rspamd.com>
Sat, 24 Sep 2022 12:03:30 +0000 (13:03 +0100)
This reverts commit 5bae837e5fb282e055a9d80d9d6aaf7eaed9a2d5.

src/lua/lua_tcp.c

index 952ea06ba2db22607600c82e94927bedc4d262bf..70e959690a2cf0bf9ccd43a2bd1a7458573ce3af 100644 (file)
@@ -599,6 +599,7 @@ lua_tcp_push_error (struct lua_tcp_cbdata *cbd, gboolean is_fatal,
                        }
 
                        lua_settop (L, top);
+
                        TCP_RELEASE (cbd);
 
                        callback_called = TRUE;
@@ -623,6 +624,7 @@ lua_tcp_push_error (struct lua_tcp_cbdata *cbd, gboolean is_fatal,
        }
 
        va_end (ap);
+
        lua_thread_pool_restore_callback (&cbs);
 }
 
@@ -1366,7 +1368,6 @@ lua_tcp_dns_handler (struct rdns_reply *reply, gpointer ud)
        const struct rdns_request_name *rn;
 
        if (reply->code != RDNS_RC_NOERROR) {
-               TCP_RETAIN (cbd);
                rn = rdns_request_get_name (reply->request, NULL);
                lua_tcp_push_error (cbd, TRUE, "unable to resolve host: %s",
                                rn->name);
@@ -1391,7 +1392,6 @@ lua_tcp_dns_handler (struct rdns_reply *reply, gpointer ud)
                rspamd_inet_address_set_port (cbd->addr, cbd->port);
 
                if (!lua_tcp_make_connection (cbd)) {
-                       TCP_RETAIN (cbd);
                        lua_tcp_push_error (cbd, TRUE, "unable to make connection to the host %s",
                                        rspamd_inet_address_to_string (cbd->addr));
                        TCP_RELEASE (cbd);
@@ -2069,7 +2069,6 @@ lua_tcp_connect_sync (lua_State *L)
 
                        if (!rspamd_dns_resolver_request_task (task, lua_tcp_dns_handler, cbd,
                                        RDNS_REQUEST_A, host)) {
-                               cbd->item = NULL; /* We have not registered watcher */
                                lua_pushboolean (L, FALSE);
                                lua_pushliteral (L, "Failed to initiate dns request");
                                TCP_RELEASE (cbd);