summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Harris <jgh146exb@wizmail.org>2021-05-15 00:19:26 +0100
committerJeremy Harris <jgh146exb@wizmail.org>2021-06-28 00:30:02 +0100
commit394eb1aa097bf00993b6625a5a27405dac9bf43d (patch)
tree6e5b528087a027cb8f91c6fb6bd047750b86f831
parent48cf5ff9f3b4aee78f670b636e48183730fb6b76 (diff)
avoid modifying source text, in appendfile
-rw-r--r--src/src/transports/appendfile.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/src/transports/appendfile.c b/src/src/transports/appendfile.c
index 5d957b62e..2d008d97d 100644
--- a/src/src/transports/appendfile.c
+++ b/src/src/transports/appendfile.c
@@ -1368,8 +1368,8 @@ if (!isdirectory)
if (ob->create_directory && allow_creation_here)
{
uschar *p = Ustrrchr(path, '/');
- *p = '\0';
- if (!directory_make(NULL, path, ob->dirmode, FALSE))
+ p = string_copyn(path, p - path);
+ if (!directory_make(NULL, p, ob->dirmode, FALSE))
{
addr->basic_errno = errno;
addr->message =
@@ -1378,7 +1378,6 @@ if (!isdirectory)
DEBUG(D_transport) debug_printf("%s transport: %s\n", tblock->name, path);
return FALSE;
}
- *p = '/';
}
/* If file_format is set we must check that any existing file matches one of