mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-02-20 10:54:16 +01:00
[d3d9] Validate pBox dimensions with LockBox
This commit is contained in:
parent
a0d48cd2a2
commit
7ffe77f7c4
@ -104,6 +104,20 @@ namespace dxvk {
|
|||||||
pLockedBox->SlicePitch = 0;
|
pLockedBox->SlicePitch = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (unlikely(pBox != nullptr)) {
|
||||||
|
auto& desc = *(m_texture->Desc());
|
||||||
|
|
||||||
|
// Negative or zero length dimensions
|
||||||
|
if ( static_cast<LONG>(pBox->Right) - static_cast<LONG>(pBox->Left) <= 0
|
||||||
|
|| static_cast<LONG>(pBox->Bottom) - static_cast<LONG>(pBox->Top) <= 0
|
||||||
|
|| static_cast<LONG>(pBox->Back) - static_cast<LONG>(pBox->Front) <= 0
|
||||||
|
// Exceeding surface dimensions
|
||||||
|
|| pBox->Right > desc.Width
|
||||||
|
|| pBox->Bottom > desc.Height
|
||||||
|
|| pBox->Back > desc.Depth)
|
||||||
|
return D3DERR_INVALIDCALL;
|
||||||
|
}
|
||||||
|
|
||||||
D3DLOCKED_BOX lockedBox;
|
D3DLOCKED_BOX lockedBox;
|
||||||
|
|
||||||
HRESULT hr = m_parent->LockImage(
|
HRESULT hr = m_parent->LockImage(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user