From 717e8d5366468326302f0dcaeea0670adf917324 Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Thu, 4 Feb 2021 18:05:00 -0600 Subject: [PATCH] ntdll: Return STATUS_INVALID_DEVICE_REQUEST when trying to call NtReadFile on directory. Signed-off-by: Zebediah Figura Signed-off-by: Alexandre Julliard (cherry picked from commit 43de1407e92296882c9c04e095f141a5df968808) Signed-off-by: Michael Stefaniuc --- dlls/ntdll/tests/file.c | 1 - dlls/ntdll/unix/file.c | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c index 2507437c8c3..839046a7488 100644 --- a/dlls/ntdll/tests/file.c +++ b/dlls/ntdll/tests/file.c @@ -171,7 +171,6 @@ static void create_file_test(void) U(io).Status = 0xdeadbeef; offset.QuadPart = 0; status = pNtReadFile( dir, NULL, NULL, NULL, &io, buf, sizeof(buf), &offset, NULL ); - todo_wine ok( status == STATUS_INVALID_DEVICE_REQUEST || status == STATUS_PENDING, "NtReadFile error %08x\n", status ); if (status == STATUS_PENDING) { diff --git a/dlls/ntdll/unix/file.c b/dlls/ntdll/unix/file.c index 014beacb35f..18e9a10252a 100644 --- a/dlls/ntdll/unix/file.c +++ b/dlls/ntdll/unix/file.c @@ -344,7 +344,7 @@ NTSTATUS errno_to_status( int err ) case EACCES: return STATUS_ACCESS_DENIED; case ENOTDIR: return STATUS_OBJECT_PATH_NOT_FOUND; case ENOENT: return STATUS_OBJECT_NAME_NOT_FOUND; - case EISDIR: return STATUS_FILE_IS_A_DIRECTORY; + case EISDIR: return STATUS_INVALID_DEVICE_REQUEST; case EMFILE: case ENFILE: return STATUS_TOO_MANY_OPENED_FILES; case EINVAL: return STATUS_INVALID_PARAMETER;