Commit 4f596c04 authored by Rémi Bernon's avatar Rémi Bernon Committed by Alexandre Julliard

kernelbase: Remove unnecessary handler from LocalUnlock.

parent e358731f
...@@ -918,6 +918,7 @@ HLOCAL WINAPI DECLSPEC_HOTPATCH LocalReAlloc( HLOCAL handle, SIZE_T size, UINT f ...@@ -918,6 +918,7 @@ HLOCAL WINAPI DECLSPEC_HOTPATCH LocalReAlloc( HLOCAL handle, SIZE_T size, UINT f
*/ */
BOOL WINAPI DECLSPEC_HOTPATCH LocalUnlock( HLOCAL handle ) BOOL WINAPI DECLSPEC_HOTPATCH LocalUnlock( HLOCAL handle )
{ {
HANDLE heap = GetProcessHeap();
struct mem_entry *mem; struct mem_entry *mem;
BOOL ret = FALSE; BOOL ret = FALSE;
...@@ -929,36 +930,28 @@ BOOL WINAPI DECLSPEC_HOTPATCH LocalUnlock( HLOCAL handle ) ...@@ -929,36 +930,28 @@ BOOL WINAPI DECLSPEC_HOTPATCH LocalUnlock( HLOCAL handle )
return FALSE; return FALSE;
} }
RtlLockHeap( GetProcessHeap() ); RtlLockHeap( heap );
__TRY if ((mem = unsafe_mem_from_HLOCAL( handle )))
{ {
if ((mem = unsafe_mem_from_HLOCAL( handle ))) if (mem->lock)
{ {
if (mem->lock) mem->lock--;
{ ret = (mem->lock != 0);
mem->lock--; if (!ret) SetLastError( NO_ERROR );
ret = (mem->lock != 0);
if (!ret) SetLastError( NO_ERROR );
}
else
{
WARN_(globalmem)( "%p not locked\n", handle );
SetLastError( ERROR_NOT_LOCKED );
}
} }
else else
{ {
WARN_(globalmem)( "invalid handle %p\n", handle ); WARN_(globalmem)( "%p not locked\n", handle );
SetLastError( ERROR_INVALID_HANDLE ); SetLastError( ERROR_NOT_LOCKED );
} }
} }
__EXCEPT_PAGE_FAULT else
{ {
WARN_(globalmem)( "(%p): Page fault occurred ! Caused by bug ?\n", handle ); WARN_(globalmem)( "invalid handle %p\n", handle );
SetLastError( ERROR_INVALID_PARAMETER ); SetLastError( ERROR_INVALID_HANDLE );
} }
__ENDTRY RtlUnlockHeap( heap );
RtlUnlockHeap( GetProcessHeap() );
return ret; return ret;
} }
......
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