summaryrefslogtreecommitdiffstats
path: root/winsup
diff options
context:
space:
mode:
Diffstat (limited to 'winsup')
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/fhandler_proc.cc3
2 files changed, 7 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 879cc109f..79ce16c70 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,10 @@
2014-10-24 Corinna Vinschen <corinna@vinschen.de>
+ * fhandler_proc.cc (format_proc_cygdrive): Fix symlink path if cygdrive
+ is "/".
+
+2014-10-24 Corinna Vinschen <corinna@vinschen.de>
+
* gendef (sigdelayed): 64 bit only: Fix seh_pushreg statements in
prologue.
diff --git a/winsup/cygwin/fhandler_proc.cc b/winsup/cygwin/fhandler_proc.cc
index 1c335c429..0fd2e569c 100644
--- a/winsup/cygwin/fhandler_proc.cc
+++ b/winsup/cygwin/fhandler_proc.cc
@@ -1360,7 +1360,8 @@ format_proc_cygdrive (void *, char *&destbuf)
{
destbuf = (char *) crealloc_abort (destbuf, mount_table->cygdrive_len + 1);
char *dend = stpcpy (destbuf, mount_table->cygdrive);
- *--dend = '\0';
+ if (dend > destbuf + 1) /* cygdrive != "/"? */
+ *--dend = '\0';
return dend - destbuf;
}