diff --git a/src/fileio.c b/src/fileio.c index e567ed9665e7822615b7e3a4c2247d23c35e5c3d..94261b8218e2e0a5efc38f9c2bda3574931c5120 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] = ':';