summaryrefslogtreecommitdiffstats
path: root/debian/patches/75_22-Silence-compiler.patch
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--debian/patches/75_22-Silence-compiler.patch222
1 files changed, 222 insertions, 0 deletions
diff --git a/debian/patches/75_22-Silence-compiler.patch b/debian/patches/75_22-Silence-compiler.patch
new file mode 100644
index 0000000..ce6e898
--- /dev/null
+++ b/debian/patches/75_22-Silence-compiler.patch
@@ -0,0 +1,222 @@
+From 2c9869d0622cc690b424cc74166d4a8393017ece Mon Sep 17 00:00:00 2001
+From: "Heiko Schlittermann (HS12-RIPE)" <hs@schlittermann.de>
+Date: Fri, 23 Apr 2021 17:40:40 +0200
+Subject: [PATCH 22/23] Silence compiler
+
+---
+ src/acl.c | 2 +-
+ src/deliver.c | 3 +--
+ src/expand.c | 6 +++++-
+ src/functions.h | 2 +-
+ src/lookups/lf_sqlperform.c | 4 ++--
+ src/parse.c | 2 +-
+ src/rda.c | 2 +-
+ src/transports/appendfile.c | 4 ++--
+ src/transports/autoreply.c | 12 ++++++------
+ src/transports/pipe.c | 4 ++--
+ 10 files changed, 22 insertions(+), 19 deletions(-)
+
+diff --git a/src/acl.c b/src/acl.c
+index 81beab5f3..b62af5c65 100644
+--- a/src/acl.c
++++ b/src/acl.c
+@@ -3600,7 +3600,7 @@ for (; cb; cb = cb->next)
+ case ACLC_QUEUE:
+ {
+ uschar *m;
+- if (m = is_tainted2(arg, 0, "Tainted name '%s' for queue not permitted", arg))
++ if ((m = is_tainted2(arg, 0, "Tainted name '%s' for queue not permitted", arg)))
+ {
+ *log_msgptr = m;
+ return ERROR;
+diff --git a/src/deliver.c b/src/deliver.c
+index 87e944b03..b40eed4f9 100644
+--- a/src/deliver.c
++++ b/src/deliver.c
+@@ -6149,12 +6149,11 @@ else if (system_filter && process_recipients != RECIP_FAIL_TIMEOUT)
+ {
+ uschar *tmp = expand_string(tpname);
+ address_file = address_pipe = NULL;
+- uschar *m;
+ if (!tmp)
+ p->message = string_sprintf("failed to expand \"%s\" as a "
+ "system filter transport name", tpname);
+ { uschar *m;
+- if (m = is_tainted2(tmp, 0, "Tainted values '%s' " "for transport '%s' as a system filter", tmp, tpname))
++ if ((m = is_tainted2(tmp, 0, "Tainted values '%s' " "for transport '%s' as a system filter", tmp, tpname)))
+ p->message = m;
+ }
+ tpname = tmp;
+diff --git a/src/expand.c b/src/expand.c
+index 21b86ebf5..dc4b4e102 100644
+--- a/src/expand.c
++++ b/src/expand.c
+@@ -4384,7 +4384,7 @@ f.expand_string_forcedfail = FALSE;
+ expand_string_message = US"";
+
+ { uschar *m;
+-if (m = is_tainted2(string, LOG_MAIN|LOG_PANIC, "Tainted string '%s' in expansion", s))
++if ((m = is_tainted2(string, LOG_MAIN|LOG_PANIC, "Tainted string '%s' in expansion", s)))
+ {
+ expand_string_message = m;
+ goto EXPAND_FAILED;
+@@ -7629,10 +7629,12 @@ while (*s != 0)
+ /* Manually track tainting, as we deal in individual chars below */
+
+ if (is_tainted(sub))
++ {
+ if (yield->s && yield->ptr)
+ gstring_rebuffer(yield);
+ else
+ yield->s = store_get(yield->size = Ustrlen(sub), TRUE);
++ }
+
+ /* Check the UTF-8, byte-by-byte */
+
+@@ -8193,6 +8195,7 @@ that is a bad idea, because expand_string_message is in dynamic store. */
+ EXPAND_FAILED:
+ if (left) *left = s;
+ DEBUG(D_expand)
++ {
+ DEBUG(D_noutf8)
+ {
+ debug_printf_indent("|failed to expand: %s\n", string);
+@@ -8212,6 +8215,7 @@ DEBUG(D_expand)
+ if (f.expand_string_forcedfail)
+ debug_printf_indent(UTF8_UP_RIGHT "failure was forced\n");
+ }
++ }
+ if (resetok_p && !resetok) *resetok_p = FALSE;
+ expand_level--;
+ return NULL;
+diff --git a/src/functions.h b/src/functions.h
+index 1e8083673..b4d23c4bc 100644
+--- a/src/functions.h
++++ b/src/functions.h
+@@ -1084,7 +1084,7 @@ if (f.running_in_test_harness && f.testsuite_delays) millisleep(millisec);
+ /******************************************************************************/
+ /* Taint-checked file opens */
+ static inline uschar *
+-is_tainted2(const void *p, int lflags, const uschar* fmt, ...)
++is_tainted2(const void *p, int lflags, const char* fmt, ...)
+ {
+ va_list ap;
+ uschar *msg;
+diff --git a/src/lookups/lf_sqlperform.c b/src/lookups/lf_sqlperform.c
+index eda3089e2..38b7c2ad3 100644
+--- a/src/lookups/lf_sqlperform.c
++++ b/src/lookups/lf_sqlperform.c
+@@ -103,7 +103,7 @@ if (Ustrncmp(query, "servers", 7) == 0)
+ }
+
+ { uschar *m;
+- if (m = is_tainted2(server, 0, "Tainted %s server '%s'", name, server))
++ if ((m = is_tainted2(server, 0, "Tainted %s server '%s'", name, server)))
+ {
+ *errmsg = m;
+ return DEFER;
+@@ -161,7 +161,7 @@ else
+ }
+
+ { uschar *m;
+- if (is_tainted2(server, 0, "Tainted %s server '%s'", name, server))
++ if ((m = is_tainted2(server, 0, "Tainted %s server '%s'", name, server)))
+ {
+ *errmsg = m;
+ return DEFER;
+diff --git a/src/parse.c b/src/parse.c
+index d1bc79039..0622b3127 100644
+--- a/src/parse.c
++++ b/src/parse.c
+@@ -1402,7 +1402,7 @@ for (;;)
+ return FF_ERROR;
+ }
+
+- if (*error = is_tainted2(filename, 0, "Tainted name '%s' for included file not permitted\n", filename))
++ if ((*error = is_tainted2(filename, 0, "Tainted name '%s' for included file not permitted\n", filename)))
+ return FF_ERROR;
+
+ /* Check file name if required */
+diff --git a/src/rda.c b/src/rda.c
+index 6ad7dd8bd..bba0b719b 100644
+--- a/src/rda.c
++++ b/src/rda.c
+@@ -179,7 +179,7 @@ struct stat statbuf;
+ /* Reading a file is a form of expansion; we wish to deny attackers the
+ capability to specify the file name. */
+
+-if (*error = is_tainted2(filename, 0, "Tainted name '%s' for file read not permitted\n", filename))
++if ((*error = is_tainted2(filename, 0, "Tainted name '%s' for file read not permitted\n", filename)))
+ {
+ *yield = FF_ERROR;
+ return NULL;
+diff --git a/src/transports/appendfile.c b/src/transports/appendfile.c
+index 7dbbaa2f9..6772b338b 100644
+--- a/src/transports/appendfile.c
++++ b/src/transports/appendfile.c
+@@ -1287,8 +1287,8 @@ if (!(path = expand_string(fdname)))
+ goto ret_panic;
+ }
+ { uschar *m;
+-if (m = is_tainted2(path, 0, "Tainted '%s' (file or directory "
+- "name for %s transport) not permitted", path, tblock->name))
++if ((m = is_tainted2(path, 0, "Tainted '%s' (file or directory "
++ "name for %s transport) not permitted", path, tblock->name)))
+ {
+ addr->message = m;
+ goto ret_panic;
+diff --git a/src/transports/autoreply.c b/src/transports/autoreply.c
+index ed99de4c6..80c7c0db0 100644
+--- a/src/transports/autoreply.c
++++ b/src/transports/autoreply.c
+@@ -407,8 +407,8 @@ if (oncelog && *oncelog && to)
+ uschar *m;
+ time_t then = 0;
+
+- if (m = is_tainted2(oncelog, 0, "Tainted '%s' (once file for %s transport)"
+- " not permitted", oncelog, tblock->name))
++ if ((m = is_tainted2(oncelog, 0, "Tainted '%s' (once file for %s transport)"
++ " not permitted", oncelog, tblock->name)))
+ {
+ addr->transport_return = DEFER;
+ addr->basic_errno = EACCES;
+@@ -518,8 +518,8 @@ if (oncelog && *oncelog && to)
+ {
+ uschar *m;
+ int log_fd;
+- if (m = is_tainted2(logfile, 0, "Tainted '%s' (logfile for %s transport)"
+- " not permitted", logfile, tblock->name))
++ if ((m = is_tainted2(logfile, 0, "Tainted '%s' (logfile for %s transport)"
++ " not permitted", logfile, tblock->name)))
+ {
+ addr->transport_return = DEFER;
+ addr->basic_errno = EACCES;
+@@ -551,8 +551,8 @@ if (oncelog && *oncelog && to)
+ if (file)
+ {
+ uschar *m;
+- if (m = is_tainted2(file, 0, "Tainted '%s' (file for %s transport)"
+- " not permitted", file, tblock->name))
++ if ((m = is_tainted2(file, 0, "Tainted '%s' (file for %s transport)"
++ " not permitted", file, tblock->name)))
+ {
+ addr->transport_return = DEFER;
+ addr->basic_errno = EACCES;
+diff --git a/src/transports/pipe.c b/src/transports/pipe.c
+index 4c9e68beb..fc44fa585 100644
+--- a/src/transports/pipe.c
++++ b/src/transports/pipe.c
+@@ -601,8 +601,8 @@ if (!cmd || !*cmd)
+ }
+
+ { uschar *m;
+-if (m = is_tainted2(cmd, 0, "Tainted '%s' (command "
+- "for %s transport) not permitted", cmd, tblock->name))
++if ((m = is_tainted2(cmd, 0, "Tainted '%s' (command "
++ "for %s transport) not permitted", cmd, tblock->name)))
+ {
+ addr->transport_return = PANIC;
+ addr->message = m;
+--
+2.30.2
+