From e91c2f80ba4bae58bbe99bbf8053f9d80c25a379 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Fri, 24 Oct 2014 19:08:55 +0000 Subject: [PATCH] * fhandler_proc.cc (format_proc_cygdrive): Fix symlink path if cygdrive is "/". --- winsup/cygwin/ChangeLog | 5 +++++ winsup/cygwin/fhandler_proc.cc | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 879cc109f..79ce16c70 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2014-10-24 Corinna Vinschen + + * fhandler_proc.cc (format_proc_cygdrive): Fix symlink path if cygdrive + is "/". + 2014-10-24 Corinna Vinschen * gendef (sigdelayed): 64 bit only: Fix seh_pushreg statements in 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; }