From d1c5a86965e05f363e81510c7c1068b1f9c506ff Mon Sep 17 00:00:00 2001 From: Aleksandar Andrejevic Date: Fri, 7 Aug 2015 23:48:54 +0000 Subject: [PATCH] [FASTFAT] VfatWrite (but not VfatRead) is supposed to return STATUS_INVALID_USER_BUFFER if an error occurred while locking the buffer. [KERNEL32] Reading 0 bytes using ReadFile doesn't always succeed on Windows. svn path=/trunk/; revision=68620 --- reactos/dll/win32/kernel32/client/file/rw.c | 1 - reactos/drivers/filesystems/fastfat/rw.c | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/reactos/dll/win32/kernel32/client/file/rw.c b/reactos/dll/win32/kernel32/client/file/rw.c index 20df0b1e5ab..ac676898dc3 100644 --- a/reactos/dll/win32/kernel32/client/file/rw.c +++ b/reactos/dll/win32/kernel32/client/file/rw.c @@ -131,7 +131,6 @@ ReadFile(IN HANDLE hFile, TRACE("ReadFile(hFile %p)\n", hFile); if (lpNumberOfBytesRead != NULL) *lpNumberOfBytesRead = 0; - if (!nNumberOfBytesToRead) return TRUE; hFile = TranslateStdHandle(hFile); diff --git a/reactos/drivers/filesystems/fastfat/rw.c b/reactos/drivers/filesystems/fastfat/rw.c index e9a23dbb9f9..b9fea99eb5c 100644 --- a/reactos/drivers/filesystems/fastfat/rw.c +++ b/reactos/drivers/filesystems/fastfat/rw.c @@ -924,6 +924,7 @@ VfatWrite( Status = VfatLockUserBuffer(IrpContext->Irp, Length, IoReadAccess); if (!NT_SUCCESS(Status)) { + Status = STATUS_INVALID_USER_BUFFER; goto ByeBye; }