]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
Fix session-less resolver.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 21 Aug 2014 15:26:51 +0000 (16:26 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 21 Aug 2014 15:26:51 +0000 (16:26 +0100)
src/libserver/dns.c

index aa487778332e87dc0a3f9a79114a0048072ca252..1410442b7af432d11c1afed0cd4c9b7f7a758816 100644 (file)
@@ -63,15 +63,15 @@ rspamd_dns_callback (struct rdns_reply *reply, gpointer ud)
 
        reqdata->cb (reply, reqdata->ud);
 
-       /*
-        * Ref event to avoid double unref by
-        * event removing
-        */
-       rdns_request_retain (reply->request);
        if (reqdata->session) {
-               remove_normal_event (reqdata->session, rspamd_dns_fin_cb, reqdata->req);
+               /*
+                * Ref event to avoid double unref by
+                * event removing
+                */
+               rdns_request_retain (reply->request);
+               remove_normal_event (reqdata->session, rspamd_dns_fin_cb, reqdata);
        }
-       if (reqdata->pool == NULL) {
+       else if (reqdata->pool == NULL) {
                g_slice_free1 (sizeof (struct rspamd_dns_request_ud), reqdata);
        }
 }