Fix bad use of library, copying string over itself
authorJeremy Harris <jgh146exb@wizmail.org>
Sat, 20 Oct 2018 20:03:30 +0000 (21:03 +0100)
committerJeremy Harris <jgh146exb@wizmail.org>
Sun, 21 Oct 2018 14:32:49 +0000 (15:32 +0100)
doc/doc-txt/ChangeLog
src/src/deliver.c

index 414dd98..70a4962 100644 (file)
@@ -142,6 +142,10 @@ JH/30 Bug 2329: Increase buffer size used for dns lookup from 2k, which was
       the way to the max DNS message size of 64kB, even though this might be
       overmuch for IOT constrained device use.
 
+JH/31 Fix a bad use of a copy function, which could be used to pointlessly
+      copy a string over itself.  The library routine is documented as not
+      supporting overlapping copies, and on MacOS it actually raised a SIGABRT.
+
 
 Exim version 4.91
 -----------------
index 6c6e6f7..4624719 100644 (file)
@@ -5586,7 +5586,8 @@ message size. This use of strcpy() is OK because the length id is checked when
 it is obtained from a command line (the -M or -q options), and otherwise it is
 known to be a valid message id. */
 
-Ustrcpy(message_id, id);
+if (id != message_id)
+  Ustrcpy(message_id, id);
 f.deliver_force = forced;
 return_count = 0;
 message_size = 0;