summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/fileio.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/fileio.c b/src/fileio.c
index e567ed9665e..94261b8218e 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -468,9 +468,11 @@ directory_file_name (src, dst)
&& (ptr[rlen] == ']' || ptr[rlen] == '>')
&& ptr[rlen - 1] == '.')
{
- ptr[rlen - 1] = ']';
- ptr[rlen] = '\0';
- return directory_file_name (ptr, dst);
+ char * buf = (char *) alloca (strlen (ptr) + 1);
+ strcpy (buf, ptr);
+ buf[rlen - 1] = ']';
+ buf[rlen] = '\0';
+ return directory_file_name (buf, dst);
}
else
dst[slen - 1] = ':';