Add check for global handles to NtGdiDeleteDC, this prevents applications from destroying DCs that are part of DCEs.

svn path=/trunk/; revision=16748
This commit is contained in:
Filip Navara 2005-07-26 16:03:46 +00:00
parent fc8add5154
commit 609a60c719

View file

@ -962,10 +962,17 @@ NtGdiDeleteDC(HDC DCHandle)
{ {
PDC DCToDelete; PDC DCToDelete;
if (!GDIOBJ_OwnedByCurrentProcess(DCHandle))
{
SetLastWin32Error(ERROR_INVALID_HANDLE);
return FALSE;
}
DCToDelete = DC_LockDc(DCHandle); DCToDelete = DC_LockDc(DCHandle);
if (DCToDelete == NULL) if (DCToDelete == NULL)
{ {
return FALSE; SetLastWin32Error(ERROR_INVALID_HANDLE);
return FALSE;
} }
/* First delete all saved DCs */ /* First delete all saved DCs */