]> source.dussan.org Git - rspamd.git/commitdiff
[Fix] Avoid reusing g_error (Fixes #1262) 1276/head
authorAndrew Lewis <nerf@judo.za.org>
Wed, 21 Dec 2016 13:49:57 +0000 (15:49 +0200)
committerAndrew Lewis <nerf@judo.za.org>
Wed, 21 Dec 2016 13:49:57 +0000 (15:49 +0200)
 Reported by: @jhejl

src/libserver/dkim.c

index 873d59d22b495e5b7249348a00811c6807a0b6bd..00b633b18164a7421b21ba87a21bd0232c94b399 100644 (file)
@@ -1130,6 +1130,11 @@ rspamd_dkim_dns_cb (struct rdns_reply *reply, gpointer arg)
                LL_FOREACH (reply->entries, elt)
                {
                        if (elt->type == RDNS_REQUEST_TXT) {
+                               if (err != NULL) {
+                                       /* Free error as it is insignificant */
+                                       g_error_free (err);
+                                       err = NULL;
+                               }
                                key = rspamd_dkim_parse_key (cbdata->ctx, elt->content.txt.data,
                                                &keylen,
                                                &err);
@@ -1139,11 +1144,6 @@ rspamd_dkim_dns_cb (struct rdns_reply *reply, gpointer arg)
                                }
                        }
                }
-               if (key != NULL && err != NULL) {
-                       /* Free error as it is insignificant */
-                       g_error_free (err);
-                       err = NULL;
-               }
                cbdata->handler (key, keylen, cbdata->ctx, cbdata->ud, err);
        }
 }