* path.cc (normalize_posix_path): Don't check existence of / or // dir
in parent dir check.
This commit is contained in:
parent
7df2c73d5d
commit
fd5f6eb13e
|
@ -1,3 +1,8 @@
|
||||||
|
2013-07-31 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
|
* path.cc (normalize_posix_path): Don't check existence of / or // dir
|
||||||
|
in parent dir check.
|
||||||
|
|
||||||
2013-07-26 Christopher Faylor <me.cygwin2013@cgf.cx>
|
2013-07-26 Christopher Faylor <me.cygwin2013@cgf.cx>
|
||||||
|
|
||||||
* environ.cc (tty_is_gone): Delete.
|
* environ.cc (tty_is_gone): Delete.
|
||||||
|
|
|
@ -310,12 +310,15 @@ normalize_posix_path (const char *src, char *dst, char *&tail)
|
||||||
which are already verified. For example this prevents
|
which are already verified. For example this prevents
|
||||||
double check in case of foo/bar/../.. */
|
double check in case of foo/bar/../.. */
|
||||||
if (check_parent)
|
if (check_parent)
|
||||||
|
{
|
||||||
|
if (tail > dst_start) /* Don't check for / or // dir. */
|
||||||
{
|
{
|
||||||
*tail = 0;
|
*tail = 0;
|
||||||
debug_printf ("checking %s before '..'", dst);
|
debug_printf ("checking %s before '..'", dst);
|
||||||
path_conv head (dst);
|
path_conv head (dst);
|
||||||
if (!head.isdir())
|
if (!head.isdir())
|
||||||
return ENOENT;
|
return ENOENT;
|
||||||
|
}
|
||||||
check_parent = false;
|
check_parent = false;
|
||||||
}
|
}
|
||||||
while (tail > dst_start && !isslash (*--tail))
|
while (tail > dst_start && !isslash (*--tail))
|
||||||
|
|
Loading…
Reference in New Issue