From 609a60c719a4719c6b7a63a9e3c86bf1eed0b716 Mon Sep 17 00:00:00 2001 From: Filip Navara Date: Tue, 26 Jul 2005 16:03:46 +0000 Subject: [PATCH] Add check for global handles to NtGdiDeleteDC, this prevents applications from destroying DCs that are part of DCEs. svn path=/trunk/; revision=16748 --- reactos/subsys/win32k/objects/dc.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/reactos/subsys/win32k/objects/dc.c b/reactos/subsys/win32k/objects/dc.c index e436def9dd3..3516afc4e25 100644 --- a/reactos/subsys/win32k/objects/dc.c +++ b/reactos/subsys/win32k/objects/dc.c @@ -962,10 +962,17 @@ NtGdiDeleteDC(HDC DCHandle) { PDC DCToDelete; + if (!GDIOBJ_OwnedByCurrentProcess(DCHandle)) + { + SetLastWin32Error(ERROR_INVALID_HANDLE); + return FALSE; + } + DCToDelete = DC_LockDc(DCHandle); if (DCToDelete == NULL) { - return FALSE; + SetLastWin32Error(ERROR_INVALID_HANDLE); + return FALSE; } /* First delete all saved DCs */