diff options
Diffstat (limited to 'winsup/cygwin/path.cc')
-rw-r--r-- | winsup/cygwin/path.cc | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc index 8f85f13be..d40b40f54 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc @@ -1693,7 +1693,9 @@ mount_info::conv_to_posix_path (const char *src_path, char *posix_path, if (!cygheap->root.exists ()) /* nothing */; - else if (cygheap->root.ischroot_native (pathbuf)) + else if (!cygheap->root.ischroot_native (pathbuf)) + return ENOENT; + else { const char *p = pathbuf + cygheap->root.native_length (); if (*p) @@ -1703,9 +1705,8 @@ mount_info::conv_to_posix_path (const char *src_path, char *posix_path, posix_path[0] = '/'; posix_path[1] = '\0'; } + goto out; } - else - return ENOENT; /* Not in the database. This should [theoretically] only happen if either the path begins with //, or / isn't mounted, or the path has a drive |