Gitweb:
https://git.exim.org/exim.git/commitdiff/2be52035b61a6077c755a9838597ecf0c507aec7
Commit: 2be52035b61a6077c755a9838597ecf0c507aec7
Parent: 27193c2c75fde3b0862112925074572b135d67c6
Author: Jeremy Harris <jgh146exb@???>
AuthorDate: Wed Nov 27 20:09:34 2024 +0000
Committer: Jeremy Harris <jgh146exb@???>
CommitDate: Wed Nov 27 21:51:46 2024 +0000
compiler quietening
---
src/exim_monitor/em_menu.c | 2 +-
src/exim_monitor/em_queue.c | 3 ++-
src/src/debug.c | 14 ++++----------
src/src/dns.c | 1 +
src/src/exim.c | 5 +++--
src/src/functions.h | 5 +++++
src/src/log.c | 9 +++++----
src/src/malware.c | 3 ++-
src/src/miscmods/perl.c | 1 +
src/src/readconf.c | 1 +
src/src/tls.c | 5 +++--
src/src/transport.c | 13 +++++++------
src/src/transports/smtp.c | 3 ++-
src/src/verify.c | 2 +-
14 files changed, 38 insertions(+), 29 deletions(-)
diff --git a/src/exim_monitor/em_menu.c b/src/exim_monitor/em_menu.c
index 03f925f52..25ab806b3 100644
--- a/src/exim_monitor/em_menu.c
+++ b/src/exim_monitor/em_menu.c
@@ -364,7 +364,7 @@ if ((pid = fork()) == 0)
dup2(pipe_fd[1], 2);
close(pipe_fd[1]);
- system(CS buffer);
+ if (system(CS buffer)) ;
close(1);
close(2);
diff --git a/src/exim_monitor/em_queue.c b/src/exim_monitor/em_queue.c
index 892b4f856..c20f238fd 100644
--- a/src/exim_monitor/em_queue.c
+++ b/src/exim_monitor/em_queue.c
@@ -163,7 +163,8 @@ uschar buffer[256];
q->next = q->prev = NULL;
q->destinations = NULL;
-Ustrncpy(q->name, name, sizeof(q->name));
+Ustrncpy(q->name, name, sizeof(q->name)-1);
+q->name[sizeof(q->name)-1] = '\0';
q->seen = TRUE;
q->frozen = FALSE;
q->dir_char = dir_char;
diff --git a/src/src/debug.c b/src/src/debug.c
index 1d48f1395..cf7e9cb0f 100644
--- a/src/src/debug.c
+++ b/src/src/debug.c
@@ -243,10 +243,7 @@ if (debug_ptr == debug_buffer)
/* Set up prefix if outputting for host checking and not debugging */
if (host_checking && debug_selector == 0)
- {
- Ustrcpy(debug_ptr, US">>> ");
- debug_ptr += 4;
- }
+ debug_ptr = Ustpcpy(debug_ptr, US">>> ");
debug_prefix_length = debug_ptr - debug_buffer;
}
@@ -256,19 +253,16 @@ if (indent > 0)
for (int i = indent >> 2; i > 0; i--)
DEBUG(D_noutf8)
{
- Ustrcpy(debug_ptr, US" !");
- debug_ptr += 4; /* 3 spaces + shriek */
+ debug_ptr = Ustpcpy(debug_ptr, US" !");
debug_prefix_length += 4;
}
else
{
- Ustrcpy(debug_ptr, US" " UTF8_VERT_2DASH);
- debug_ptr += 6; /* 3 spaces + 3 UTF-8 octets */
+ debug_ptr = Ustpcpy(debug_ptr, US" " UTF8_VERT_2DASH);
debug_prefix_length += 6;
}
- Ustrncpy(debug_ptr, US" ", indent &= 3);
- debug_ptr += indent;
+ debug_ptr += sprintf(CS debug_ptr, "%.*s", indent &= 3, " ");
debug_prefix_length += indent;
}
diff --git a/src/src/dns.c b/src/src/dns.c
index df6618593..199c10fda 100644
--- a/src/src/dns.c
+++ b/src/src/dns.c
@@ -1329,6 +1329,7 @@ switch (type)
GETSHORT(priority, p);
GETSHORT(dummy_weight, p);
GETSHORT(port, p);
+ dummy_weight = dummy_weight; /* stupid compiler quietening */
/* Check the CSA version number */
if (priority != 1) continue;
diff --git a/src/src/exim.c b/src/src/exim.c
index 2297a5edc..fc186704d 100644
--- a/src/src/exim.c
+++ b/src/src/exim.c
@@ -352,7 +352,7 @@ to disrupt whatever is going on outside the signal handler. */
if (fd < 0) return;
-(void)write(fd, process_info, process_info_len);
+if (write(fd, process_info, process_info_len) != 0) ;
(void)close(fd);
}
@@ -4625,7 +4625,8 @@ privilege by now. Before the chdir, we try to ensure that the directory exists.
if (Uchdir(spool_directory) != 0)
{
(void) directory_make(spool_directory, US"", SPOOL_DIRECTORY_MODE, FALSE);
- (void) Uchdir(spool_directory); /*XXX maybe panic on fail? */
+ if (Uchdir(spool_directory) < 0)
+ log_write(0, LOG_MAIN|LOG_PANIC_DIE, "chdir to spool: %s", strerror(errno));
}
/* Handle calls with the -bi option. This is a sendmail option to rebuild *the*
diff --git a/src/src/functions.h b/src/src/functions.h
index 866a7ca31..85b10714e 100644
--- a/src/src/functions.h
+++ b/src/src/functions.h
@@ -738,9 +738,14 @@ if (!is_tainted(dst) && is_tainted(src)) die_tainted(US"Ustrncpy", CUS func, lin
#endif
return US strncpy(CS dst, CCS src, n);
}
+static inline uschar * Ustpcpy(uschar * dst, const uschar * src)
+{
+return US stpcpy(CS dst, CCS src);
+}
/*XXX will likely need unchecked copy also */
+
/* Advance the string pointer given over any whitespace.
Return the next char as there's enough places using it to be useful. */
diff --git a/src/src/log.c b/src/src/log.c
index a7bc2aab7..9c143e5f3 100644
--- a/src/src/log.c
+++ b/src/src/log.c
@@ -513,7 +513,7 @@ switch (type)
case lt_debug:
/* and deal with the debug log (which keeps the datestamp, but does not
update it) */
- Ustrcpy(debuglog_name, buffer);
+ sprintf(CS debuglog_name, "%.*s", (int) sizeof(debuglog_name)-1, buffer);
if (tag)
{
if (is_tainted(tag))
@@ -524,7 +524,7 @@ switch (type)
ok2 = string_format(buffer, sizeof(buffer), "%s%s",
debuglog_name, tag);
if (ok2)
- Ustrcpy(debuglog_name, buffer);
+ sprintf(CS debuglog_name, "%.*s", (int)sizeof(debuglog_name)-1, buffer);
}
break;
@@ -1279,7 +1279,8 @@ if (flags & LOG_PANIC)
panic_recurseflag = FALSE;
if (panic_save_buffer)
- (void) write(paniclogfd, panic_save_buffer, Ustrlen(panic_save_buffer));
+ if (write(paniclogfd, panic_save_buffer, Ustrlen(panic_save_buffer)) < 0)
+ DEBUG(D_any) debug_printf("sucks");
if ( (written_len = write_gstring_to_fd_buf(paniclogfd, g))
!= gstring_length(g))
@@ -1548,7 +1549,7 @@ debug_logging_from_spool(const uschar * filename)
{
if (debug_fd < 0)
{
- Ustrncpy(debuglog_name, filename, sizeof(debuglog_name));
+ Ustrncpy(debuglog_name, filename, sizeof(debuglog_name)-1);
if ((debug_fd = log_open_as_exim(filename)) >= 0)
debug_file = fdopen(debug_fd, "w");
DEBUG(D_deliver) debug_printf("debug enabled by spoolfile\n");
diff --git a/src/src/malware.c b/src/src/malware.c
index 408e2299b..e0268ab4e 100644
--- a/src/src/malware.c
+++ b/src/src/malware.c
@@ -2178,6 +2178,7 @@ badseek: err = errno;
}
#endif
+ default: break; /* compiler quietening */
} /* scanner type switch */
if (malware_daemon_ctx.sock >= 0)
@@ -2257,7 +2258,7 @@ f.enable_dollar_recipients = TRUE;
ret = malware_internal(US"*", TRUE, eml_filename, 0);
-Ustrncpy(spooled_message_id, message_id, sizeof(spooled_message_id));
+memcpy(spooled_message_id, message_id, sizeof(spooled_message_id));
spool_mbox_ok = 1;
/* don't set no_mbox_unspool; at present, there's no way for it to become
diff --git a/src/src/miscmods/perl.c b/src/src/miscmods/perl.c
index aef634967..6319efdcc 100644
--- a/src/src/miscmods/perl.c
+++ b/src/src/miscmods/perl.c
@@ -179,6 +179,7 @@ call_perl_cat(gstring * yield, uschar **errstrp, uschar *name, uschar **arg)
while (*arg != NULL) XPUSHs(newSVpv(CS (*arg++), 0));
PUTBACK;
items = perl_call_pv(CS name, G_SCALAR|G_EVAL);
+ items = items; /* stupid compiler quietening */
SPAGAIN;
sv = POPs;
PUTBACK;
diff --git a/src/src/readconf.c b/src/src/readconf.c
index 059a4e8f0..fbc6eab0c 100644
--- a/src/src/readconf.c
+++ b/src/src/readconf.c
@@ -3381,6 +3381,7 @@ if (f.trusted_config && Ustrcmp(filename, US"/dev/null"))
{
rmark r = store_mark();
void * dummy = store_get((int)statbuf.st_size, GET_UNTAINTED);
+ dummy = dummy; /* stupid compiler quietening */
store_reset(r);
}
}
diff --git a/src/src/tls.c b/src/src/tls.c
index 5892491fc..67f0f624d 100644
--- a/src/src/tls.c
+++ b/src/src/tls.c
@@ -310,13 +310,14 @@ void
tls_watch_discard_event(int fd)
{
#ifdef EXIM_HAVE_INOTIFY
-(void) read(fd, big_buffer, big_buffer_size);
+int rc = read(fd, big_buffer, big_buffer_size);
#endif
#ifdef EXIM_HAVE_KEVENT
struct kevent kev;
struct timespec t = {0};
-(void) kevent(fd, NULL, 0, &kev, 1, &t);
+int rc = kevent(fd, NULL, 0, &kev, 1, &t);
#endif
+rc = rc; /* stupid compiler quietening */
}
#endif /*EXIM_HAVE_INOTIFY*/
diff --git a/src/src/transport.c b/src/src/transport.c
index 063fda361..81d93deeb 100644
--- a/src/src/transport.c
+++ b/src/src/transport.c
@@ -149,32 +149,32 @@ int old_pool = store_pool;
store_pool = POOL_PERM;
{
driver_info ** anchor = (driver_info **) &transports_available;
- extern transport_info appendfile_transport_info;
- extern transport_info autoreply_transport_info;
- extern transport_info lmtp_transport_info;
- extern transport_info pipe_transport_info;
- extern transport_info queuefile_transport_info;
- extern transport_info smtp_transport_info;
/* Add the transport drivers that are built for static linkage to the
list of availables. */
#if defined(TRANSPORT_APPENDFILE) && TRANSPORT_APPENDFILE!=2
+ extern transport_info appendfile_transport_info;
add_driver_info(anchor, &appendfile_transport_info.drinfo, sizeof(transport_info));
#endif
#if defined(TRANSPORT_AUTOREPLY) && TRANSPORT_AUTOREPLY!=2
+ extern transport_info autoreply_transport_info;
add_driver_info(anchor, &autoreply_transport_info.drinfo, sizeof(transport_info));
#endif
#if defined(TRANSPORT_LMTP) && TRANSPORT_LMTP!=2
+ extern transport_info lmtp_transport_info;
add_driver_info(anchor, &lmtp_transport_info.drinfo, sizeof(transport_info));
#endif
#if defined(TRANSPORT_PIPE) && TRANSPORT_PIPE!=2
+ extern transport_info pipe_transport_info;
add_driver_info(anchor, &pipe_transport_info.drinfo, sizeof(transport_info));
#endif
#if defined(EXPERIMENTAL_QUEUEFILE) && EXPERIMENTAL_QUEUEFILE!=2
+ extern transport_info queuefile_transport_info;
add_driver_info(anchor, &queuefile_transport_info.drinfo, sizeof(transport_info));
#endif
#if defined(TRANSPORT_SMTP) && TRANSPORT_SMTP!=2
+ extern transport_info smtp_transport_info;
add_driver_info(anchor, &smtp_transport_info.drinfo, sizeof(transport_info));
#endif
}
@@ -1451,6 +1451,7 @@ if (write_pid > 0)
int dummy = read(pfd[pipe_read], (void *)&save_errno, sizeof(int));
dummy = read(pfd[pipe_read], (void *)&tctx->addr->more_errno, sizeof(int));
dummy = read(pfd[pipe_read], (void *)&tctx->addr->delivery_time, sizeof(struct timeval));
+ dummy = dummy; /* (more) compiler quietening */
yield = FALSE;
}
}
diff --git a/src/src/transports/smtp.c b/src/src/transports/smtp.c
index f2038addc..2da9514d0 100644
--- a/src/src/transports/smtp.c
+++ b/src/src/transports/smtp.c
@@ -2286,7 +2286,8 @@ if (continue_hostname && continue_proxy_cipher)
continue_proxy_sni, sni);
smtp_debug_cmd(US"QUIT", 0);
- write(0, "QUIT\r\n", 6);
+ if (write(0, "QUIT\r\n", 6) < 0)
+ DEBUG(D_any) debug_printf("stupid compiler\n");
close(0);
continue_hostname = continue_proxy_cipher = NULL;
f.continue_more = FALSE;
diff --git a/src/src/verify.c b/src/src/verify.c
index 81f28d66e..33929e023 100644
--- a/src/src/verify.c
+++ b/src/src/verify.c
@@ -3477,7 +3477,7 @@ if ((rc = verify_address(&vaddr, NULL, vopt_is_recipient | vopt_quota,
}
DEBUG(D_verify) debug_printf_indent("verify_quota: len %d\n", len);
-write(1, msg, len);
+if (write(1, msg, len) != 0) ;
return;
}
--
## subscription configuration (requires account):
##
https://lists.exim.org/mailman3/postorius/lists/exim-cvs.lists.exim.org/
## unsubscribe (doesn't require an account):
## exim-cvs-unsubscribe@???
## Exim details at
http://www.exim.org/
## Please use the Wiki with this list -
http://wiki.exim.org/