https://bugs.exim.org/show_bug.cgi?id=2603
Git Commit <g...@exim.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |g...@exim.org --- Comment #4 from Git Commit <g...@exim.org> --- Git commit: https://git.exim.org/exim.git/commitdiff/80c2ec2e47c556daff00c79ee068ce68f25fd264 commit 80c2ec2e47c556daff00c79ee068ce68f25fd264 Author: Jeremy Harris <jgh146...@wizmail.org> AuthorDate: Sat Jun 20 00:54:05 2020 +0100 Commit: Jeremy Harris <jgh146...@wizmail.org> CommitDate: Sat Jun 20 01:05:08 2020 +0100 Fix string_copy() macro to not multiple-eval args. Bug 2603 Broken-by: a76d120aed --- doc/doc-txt/ChangeLog | 6 ++++++ src/src/functions.h | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog index 0354ff2..717e0d2 100644 --- a/doc/doc-txt/ChangeLog +++ b/doc/doc-txt/ChangeLog @@ -49,6 +49,12 @@ JH/09 Relax restrictions on ACL verify condition needing access to message permit also mime, dkim, prdr quit and notquit. Applies to header-syntax, not_blind, header_sender and header_names_ascii verification. +JH/10 Bug 2603: Fix coding of string copying to only evaluate arguments once. + Previously a macro used one argument twice; when called with the + argument as an expression having side-effects, incorrect operation + resulted. Use an inlineable function. + + Exim version 4.94 ----------------- diff --git a/src/src/functions.h b/src/src/functions.h index 1f0c30d..110d4db 100644 --- a/src/src/functions.h +++ b/src/src/functions.h @@ -772,9 +772,9 @@ string_copy_trc(const uschar * s, const char * func, int line) /* Simple string-copy functions maintaining the taint */ #define string_copyn(s, len) \ - string_copyn_taint_trc((s), (len), is_tainted(s), __FUNCTION__, __LINE__) + string_copyn_trc((s), (len), __FUNCTION__, __LINE__) #define string_copy(s) \ - string_copy_taint_trc((s), is_tainted(s), __FUNCTION__, __LINE__) + string_copy_trc((s), __FUNCTION__, __LINE__) /************************************************* -- You are receiving this mail because: You are on the CC list for the bug. -- ## List details at https://lists.exim.org/mailman/listinfo/exim-dev Exim details at http://www.exim.org/ ##