DMARC: fix use-after-free in dmarc_dns_lookup
[exim.git] / src / src / lookups / lf_sqlperform.c
index eda3089e256e89ec56e9fd0b267fe3539590f0a0..ce6f1635a3258152b37a4006a76b86f02f3083a6 100644 (file)
@@ -2,8 +2,8 @@
 *     Exim - an Internet mail transport agent    *
 *************************************************/
 
+/* Copyright (c) The Exim Maintainers 2020 - 2022 */
 /* Copyright (c) University of Cambridge 1995 - 2018 */
-/* Copyright (c) The Exim Maintainers 2020 */
 /* See the file NOTICE for conditions of use and distribution. */
 
 
@@ -102,13 +102,11 @@ if (Ustrncmp(query, "servers", 7) == 0)
         }
       }
 
-    { uschar *m;
-    if (m = is_tainted2(server, 0, "Tainted %s server '%s'", name, server))
-     {
-      *errmsg = m;
+    if (is_tainted(server))
+      {
+      *errmsg = string_sprintf("%s server \"%s\" is tainted", name, server);
       return DEFER;
       }
-    }
 
     rc = (*fn)(ss+1, server, result, errmsg, &defer_break, do_cache, opts);
     if (rc != DEFER || defer_break) return rc;
@@ -160,13 +158,11 @@ else
        server = ele;
        }
 
-      { uschar *m;
-      if (is_tainted2(server, 0, "Tainted %s server '%s'", name, server))
+      if (is_tainted(server))
         {
-        *errmsg = m;
+        *errmsg = string_sprintf("%s server \"%s\" is tainted", name, server);
         return DEFER;
         }
-      }
 
       rc = (*fn)(query, server, result, errmsg, &defer_break, do_cache, opts);
       if (rc != DEFER || defer_break) return rc;