Commit 7fae5f4f authored by Andrew Eikum's avatar Andrew Eikum Committed by Alexandre Julliard

dsound: Validate buffer pointers in Unlock methods.

parent b1fdaa81
......@@ -651,6 +651,12 @@ static HRESULT WINAPI IDirectSoundBufferImpl_Unlock(IDirectSoundBuffer8 *iface,
if (!p2)
x2 = 0;
if((p1 && ((BYTE*)p1 < This->buffer->memory ||
(BYTE*)p1 >= This->buffer->memory + This->buflen)) ||
(p2 && ((BYTE*)p2 < This->buffer->memory ||
(BYTE*)p2 >= This->buffer->memory + This->buflen)))
return DSERR_INVALIDPARAM;
if (x1 || x2)
{
RtlAcquireResourceShared(&This->device->buffer_list_lock, TRUE);
......
......@@ -850,6 +850,12 @@ static HRESULT WINAPI PrimaryBufferImpl_Unlock(
return DSERR_PRIOLEVELNEEDED;
}
if((p1 && ((BYTE*)p1 < device->buffer ||
(BYTE*)p1 >= device->buffer + device->buflen)) ||
(p2 && ((BYTE*)p2 < device->buffer ||
(BYTE*)p2 >= device->buffer + device->buflen)))
return DSERR_INVALIDPARAM;
return DS_OK;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment