diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2010-10-02 12:44:08 +0400 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2010-10-02 12:44:08 +0400 |
commit | ad2b2724a7efba3e39d6c5b6f4f75f6ec1d4e8bb (patch) | |
tree | 27c928fbee2d9768e32c41fbad58aa43cd993999 /winsup | |
parent | b66f254618868f72fca74883c440432300d717bd (diff) |
* fhandler_procsys.cc (fhandler_procsys::exists): Return virt_none
if path is invalid.
Diffstat (limited to 'winsup')
-rw-r--r-- | winsup/cygwin/ChangeLog | 5 | ||||
-rw-r--r-- | winsup/cygwin/fhandler_procsys.cc | 2 |
2 files changed, 7 insertions, 0 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 1fe30a808..c8648c192 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2010-09-02 Corinna Vinschen <corinna@vinschen.de> + + * fhandler_procsys.cc (fhandler_procsys::exists): Return virt_none + if path is invalid. + 2010-10-01 Christopher Faylor <me+cygwin@cgf.cx> * autoload.cc (std_dll_init): Add a retry loop. diff --git a/winsup/cygwin/fhandler_procsys.cc b/winsup/cygwin/fhandler_procsys.cc index 54218156f..0f4cc1747 100644 --- a/winsup/cygwin/fhandler_procsys.cc +++ b/winsup/cygwin/fhandler_procsys.cc @@ -62,6 +62,8 @@ fhandler_procsys::exists (struct __stat64 *buf) InitializeObjectAttributes (&attr, &path, OBJ_CASE_INSENSITIVE, NULL, NULL); status = NtOpenFile (&h, READ_CONTROL | FILE_READ_ATTRIBUTES, &attr, &io, FILE_SHARE_VALID_FLAGS, FILE_OPEN_FOR_BACKUP_INTENT); + if (status == STATUS_OBJECT_NAME_INVALID) + return virt_none; /* If no media is found, or we get this dreaded sharing violation, let the caller immediately try again as normal file. */ if (status == STATUS_NO_MEDIA_IN_DEVICE |