From 8884a1682ad6f67fa3473a3e0405ea2898e01863 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Wed, 1 Aug 2007 14:46:09 +0000 Subject: * ntdll.h (STATUS_ACCESS_DENIED): Define. * syscalls.cc (check_dir_not_empty): New static function. (unlink_nt): Move code checking for non-empty dir to check_dir_not_empty and call check_dir_not_empty instead. (rename): Add fault handler. Check oldpath and newpath for trailing . and .. path components and return EINVAL if so. Check oldpath for being on a vrtual file system. If renaming a dir fails with STATUS_ACCESS_DENIED, check if the target dir is non-empty and return ENOTEMPTY if so. --- winsup/cygwin/ntdll.h | 1 + 1 file changed, 1 insertion(+) (limited to 'winsup/cygwin/ntdll.h') diff --git a/winsup/cygwin/ntdll.h b/winsup/cygwin/ntdll.h index 8936dd44c..0eca36275 100644 --- a/winsup/cygwin/ntdll.h +++ b/winsup/cygwin/ntdll.h @@ -17,6 +17,7 @@ #define STATUS_INVALID_PARAMETER ((NTSTATUS) 0xc000000d) #define STATUS_INVALID_DEVICE_REQUEST ((NTSTATUS) 0xc0000010) #define STATUS_NO_MEDIA_IN_DEVICE ((NTSTATUS) 0xc0000013) +#define STATUS_ACCESS_DENIED ((NTSTATUS) 0xc0000022) #define STATUS_BUFFER_TOO_SMALL ((NTSTATUS) 0xc0000023) #define STATUS_OBJECT_NAME_NOT_FOUND ((NTSTATUS) 0xc0000034) #define STATUS_SHARING_VIOLATION ((NTSTATUS) 0xc0000043) -- cgit v1.2.3