[WIN32K:NTGDI] Add missing probe to NtGdiGetPath.

This commit is contained in:
Thomas Faber 2019-12-31 21:07:39 +01:00
parent f0d2bd3852
commit 5b83d86af5
No known key found for this signature in database
GPG key ID: 076E7C3D44720826

View file

@ -222,7 +222,7 @@ BOOL PATH_RestorePath( DC *dst, DC *src )
PATH_AssignGdiPath(pdstPath, psrcPath); PATH_AssignGdiPath(pdstPath, psrcPath);
PATH_UnlockPath(pdstPath); PATH_UnlockPath(pdstPath);
PATH_UnlockPath(psrcPath); PATH_UnlockPath(psrcPath);
} }
else else
{ {
@ -1405,7 +1405,7 @@ PATH_PathToRegion(
INT Mode, INT Mode,
PREGION Rgn) PREGION Rgn)
{ {
int i, pos, polygons; int i, pos, polygons;
PULONG counts; PULONG counts;
int Ret; int Ret;
@ -2694,8 +2694,21 @@ NtGdiGetPath(
{ {
INT ret = -1; INT ret = -1;
PPATH pPath; PPATH pPath;
DC *dc;
DC *dc = DC_LockDc(hDC); _SEH2_TRY
{
ProbeForWrite(Points, nSize * sizeof(*Points), sizeof(ULONG));
ProbeForWrite(Types, nSize, 1);
}
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
{
SetLastNtError(_SEH2_GetExceptionCode());
_SEH2_YIELD(return -1);
}
_SEH2_END
dc = DC_LockDc(hDC);
DPRINT("NtGdiGetPath start\n"); DPRINT("NtGdiGetPath start\n");
if (!dc) if (!dc)
{ {