Commit 77fbbcf3 authored by Marcus Meissner's avatar Marcus Meissner Committed by Alexandre Julliard

FindClose: protect the GlobalLock for pagefaults too.

parent 714bfd7e
......@@ -1806,16 +1806,15 @@ BOOL WINAPI FindClose( HANDLE handle )
{
FIND_FIRST_INFO *info;
if ((handle == INVALID_HANDLE_VALUE) ||
!(info = (FIND_FIRST_INFO *)GlobalLock( handle )))
{
SetLastError( ERROR_INVALID_HANDLE );
return FALSE;
}
if (handle == INVALID_HANDLE_VALUE) goto error;
__TRY
{
if (info->dir) DOSFS_CloseDir( info->dir );
if (info->path) HeapFree( GetProcessHeap(), 0, info->path );
if ((info = (FIND_FIRST_INFO *)GlobalLock( handle )))
{
if (info->dir) DOSFS_CloseDir( info->dir );
if (info->path) HeapFree( GetProcessHeap(), 0, info->path );
}
}
__EXCEPT(page_fault)
{
......@@ -1824,9 +1823,14 @@ BOOL WINAPI FindClose( HANDLE handle )
return FALSE;
}
__ENDTRY
if (!info) goto error;
GlobalUnlock( handle );
GlobalFree( handle );
return TRUE;
error:
SetLastError( ERROR_INVALID_HANDLE );
return FALSE;
}
/***********************************************************************
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment