Re: Bug: kernel: file.c
On 10/15/05, Ivan Gyurdiev <[EMAIL PROTECTED]> wrote: > Ivan Gyurdiev wrote: > > This makes the Battlefield 2 demo go a bit further, before crashing > > again, due to unimplemented call ntdll.dll.NtSetSystemInformation. > > > > The mask parameter is not initialized by RtlDosPathNameToNtPathName_U > > (it returns TRUE in that first block), and then you get an invalid > > dereference later. > Never mind, I see this is being fixed differently by James Hawkins. > When I was first looking through this bug, I tried setting mask to NULL as well, but that just hides the fact that RtlDosPathNameToNtPathName_U doesn't fill in the file_part parameter for long file names as it should. My approach was incorrect, but I'll go back and work something else out. -- James Hawkins
Re: Bug: kernel: file.c
Ivan Gyurdiev wrote: This makes the Battlefield 2 demo go a bit further, before crashing again, due to unimplemented call ntdll.dll.NtSetSystemInformation. The mask parameter is not initialized by RtlDosPathNameToNtPathName_U (it returns TRUE in that first block), and then you get an invalid dereference later. Never mind, I see this is being fixed differently by James Hawkins.
Bug: kernel: file.c
This makes the Battlefield 2 demo go a bit further, before crashing again, due to unimplemented call ntdll.dll.NtSetSystemInformation. The mask parameter is not initialized by RtlDosPathNameToNtPathName_U (it returns TRUE in that first block), and then you get an invalid dereference later. diff -Naurp kernel/file.c kernel.new/file.c --- kernel/file.c 2005-10-15 04:54:41.0 -0400 +++ kernel.new/file.c 2005-10-15 04:51:36.0 -0400 @@ -1435,7 +1435,7 @@ HANDLE WINAPI FindFirstFileExW( LPCWSTR LPVOID data, FINDEX_SEARCH_OPS search_op, LPVOID filter, DWORD flags) { -WCHAR *mask, *p; +WCHAR *mask = NULL, *p; FIND_FIRST_INFO *info = NULL; UNICODE_STRING nt_name; OBJECT_ATTRIBUTES attr;