[PATCH 4/4] ntdll: Fix the FileNameInformation info size.

Henri Verbeet hverbeet at codeweavers.com
Thu Nov 12 08:10:15 CST 2009


Some of the other information classes probably have the same problem.
---
 dlls/ntdll/file.c       |    2 +-
 dlls/ntdll/tests/file.c |    3 +++
 2 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
index 5587baf..b3a40e7 100644
--- a/dlls/ntdll/file.c
+++ b/dlls/ntdll/file.c
@@ -1564,7 +1564,7 @@ NTSTATUS WINAPI NtQueryInformationFile( HANDLE hFile, PIO_STATUS_BLOCK io,
         sizeof(FILE_INTERNAL_INFORMATION),             /* FileInternalInformation */
         sizeof(FILE_EA_INFORMATION),                   /* FileEaInformation */
         sizeof(FILE_ACCESS_INFORMATION),               /* FileAccessInformation */
-        sizeof(FILE_NAME_INFORMATION)-sizeof(WCHAR),   /* FileNameInformation */
+        sizeof(FILE_NAME_INFORMATION),                 /* FileNameInformation */
         sizeof(FILE_RENAME_INFORMATION)-sizeof(WCHAR), /* FileRenameInformation */
         0,                                             /* FileLinkInformation */
         sizeof(FILE_NAMES_INFORMATION)-sizeof(WCHAR),  /* FileNamesInformation */
diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c
index fba3bb7..ba6b07e 100644
--- a/dlls/ntdll/tests/file.c
+++ b/dlls/ntdll/tests/file.c
@@ -977,6 +977,9 @@ static void test_file_name_information(void)
             NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0 );
     ok(h != INVALID_HANDLE_VALUE, "Failed to open file.\n");
 
+    hr = pNtQueryInformationFile( h, &io, info, sizeof(*info) - 1, FileNameInformation );
+    ok(hr == STATUS_INFO_LENGTH_MISMATCH, "NtQueryInformationFile returned %#x.\n", hr);
+
     memset( info, 0xcc, info_size );
     hr = pNtQueryInformationFile( h, &io, info, sizeof(*info), FileNameInformation );
     ok(hr == STATUS_BUFFER_OVERFLOW, "NtQueryInformationFile returned %#x, expected %#x.\n",
-- 
1.6.4.4




More information about the wine-patches mailing list