From aff6ef0db4767fd53eb69ea2f573ec4c8ae7c5a6 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Thu, 18 Jul 2013 10:11:33 +0000 Subject: [PATCH] * path.cc (normalize_posix_path): Start checking path before ".." at dst, rather than at dst_start, otherwise suffer loss of one leading slash in case of UNC paths. --- winsup/cygwin/ChangeLog | 6 ++++++ winsup/cygwin/path.cc | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 41d94b90f..a003cf0b0 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,9 @@ +2013-07-18 Corinna Vinschen + + * path.cc (normalize_posix_path): Start checking path before ".." at + dst, rather than at dst_start, otherwise suffer loss of one leading + slash in case of UNC paths. + 2013-07-17 Christopher Faylor * winsup.h (cygbench): Fix declaration to match definition. diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc index 6c9bc231e..7f0e5b81f 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc @@ -312,8 +312,8 @@ normalize_posix_path (const char *src, char *dst, char *&tail) if (check_parent) { *tail = 0; - debug_printf ("checking %s before '..'", dst_start); - path_conv head (dst_start); + debug_printf ("checking %s before '..'", dst); + path_conv head (dst); if (!head.isdir()) return ENOENT; check_parent = false;