mirror of
https://github.com/reactos/reactos.git
synced 2025-08-06 11:32:56 +00:00
[WIN32K]
Fix a bug caused by r57948 svn path=/trunk/; revision=57952
This commit is contained in:
parent
49a76c78e0
commit
a011b6bc32
1 changed files with 5 additions and 4 deletions
|
@ -3996,7 +3996,7 @@ NtGdiGetRegionData(
|
||||||
_In_ ULONG cjBuffer,
|
_In_ ULONG cjBuffer,
|
||||||
_Out_opt_bytecap_(cjBuffer) LPRGNDATA lpRgnData)
|
_Out_opt_bytecap_(cjBuffer) LPRGNDATA lpRgnData)
|
||||||
{
|
{
|
||||||
ULONG cjSize;
|
ULONG cjRects, cjSize;
|
||||||
PREGION prgn;
|
PREGION prgn;
|
||||||
|
|
||||||
/* Lock the region */
|
/* Lock the region */
|
||||||
|
@ -4007,8 +4007,9 @@ NtGdiGetRegionData(
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Calculate the region size */
|
/* Calculate the region sizes */
|
||||||
cjSize = prgn->rdh.nCount * sizeof(RECT) + sizeof(RGNDATAHEADER);
|
cjRects = prgn->rdh.nCount * sizeof(RECT);
|
||||||
|
cjSize = cjRects + sizeof(RGNDATAHEADER);
|
||||||
|
|
||||||
/* Check if region data is requested */
|
/* Check if region data is requested */
|
||||||
if (lpRgnData)
|
if (lpRgnData)
|
||||||
|
@ -4021,7 +4022,7 @@ NtGdiGetRegionData(
|
||||||
{
|
{
|
||||||
ProbeForWrite(lpRgnData, cjSize, sizeof(ULONG));
|
ProbeForWrite(lpRgnData, cjSize, sizeof(ULONG));
|
||||||
RtlCopyMemory(lpRgnData, &prgn->rdh, sizeof(RGNDATAHEADER));
|
RtlCopyMemory(lpRgnData, &prgn->rdh, sizeof(RGNDATAHEADER));
|
||||||
RtlCopyMemory(lpRgnData->Buffer, prgn->Buffer, cjSize);
|
RtlCopyMemory(lpRgnData->Buffer, prgn->Buffer, cjRects);
|
||||||
}
|
}
|
||||||
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
|
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue