Fix build for OpenSSL 3.0.0 . Bug 2810
[exim.git] / src / src / spf.c
index 3a1912a918573522b9608251056a107205467e87..9f0805ada9d49ac93ad36356c4e08ad015282f4b 100644 (file)
@@ -5,7 +5,7 @@
 /* SPF support.
    Copyright (c) Tom Kistner <tom@duncanthrax.net> 2004 - 2014
    License: GPL
-   Copyright (c) The Exim Maintainers 2015 - 2020
+   Copyright (c) The Exim Maintainers 2015 - 2021
 */
 
 /* Code for calling spf checks via libspf-alt. Called from acl.c. */
@@ -80,6 +80,7 @@ if (rr_type == T_SPF)
   HDEBUG(D_host_lookup) debug_printf("faking NO_DATA for SPF RR(99) lookup\n");
   srr.herrno = NO_DATA;
   SPF_dns_rr_dup(&spfrr, &srr);
+  store_free_dns_answer(dnsa);
   return spfrr;
   }
 
@@ -100,6 +101,7 @@ for (dns_record * rr = dns_next_rr(dnsa, &dnss, RESET_ANSWERS); rr;
 if (found == 0)
   {
   SPF_dns_rr_dup(&spfrr, &srr);
+  store_free_dns_answer(dnsa);
   return spfrr;
   }
 
@@ -171,6 +173,7 @@ if (!(srr.num_rr = found))
 
 /* spfrr->rr must have been malloc()d for this */
 SPF_dns_rr_dup(&spfrr, &srr);
+store_free_dns_answer(dnsa);
 return spfrr;
 }