Signed-off-by: Andrew Eikum aeikum@codeweavers.com
On Sun, May 08, 2022 at 10:40:30PM +0000, Moore, Brandon A. wrote:
From 68bf9407a3f2ecbd34801e478ae4e0ad74dd68b1 Mon Sep 17 00:00:00 2001 From: Brandon Moore moore.3071@osu.edu Date: Fri, 29 Apr 2022 16:50:55 -0700 Subject: [PATCH v2] msadpm: Stop decoding instead of crashing for invalid adpcm data.
Apply the same patch from 72528be84fdc for adpcm data sent to mono destinations in addition to stereo destinations.
Signed-off-by: Brandon Moore moore.3071@osu.edu
dlls/msadp32.acm/msadp32.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/dlls/msadp32.acm/msadp32.c b/dlls/msadp32.acm/msadp32.c index 2dc11b9239a..b31f6371a7a 100644 --- a/dlls/msadp32.acm/msadp32.c +++ b/dlls/msadp32.acm/msadp32.c @@ -319,7 +319,14 @@ static void cvtMMms16K(const ACMDRVSTREAMINSTANCE *adsi, { const unsigned char* in_src = src;
assert(*src <= 6);
/* Catch a problem from Lord of the Rings War of the Ring where it
* passes invalid data. */
if (*src > 6)
{
*ndst -= nblock * nsamp_blk * adsi->pwfxDst->nBlockAlign;
WARN("Invalid ADPCM data, stopping conversion\n");
break;
} coeff = MSADPCM_CoeffSet[*src++]; idelta = R16(src); src += 2;
-- 2.35.1