From: Bruno Jesus <00cpxxx@gmail.com> Subject: [PATCH 1/3] msacm32: Handle invalid use of reserved parameter in acmStreamPrepareHeader Message-Id: <20160828070730.14846-1-00cpxxx@gmail.com> Date: Sun, 28 Aug 2016 04:07:28 -0300 More work towards bug git https://bugs.winehq.org/show_bug.cgi?id=24723 Signed-off-by: Bruno Jesus <00cpxxx@gmail.com> --- dlls/msacm32/stream.c | 10 ++++++---- dlls/msacm32/tests/msacm.c | 1 - 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/dlls/msacm32/stream.c b/dlls/msacm32/stream.c index bdfc3cc..b380b46 100644 --- a/dlls/msacm32/stream.c +++ b/dlls/msacm32/stream.c @@ -302,14 +302,16 @@ MMRESULT WINAPI acmStreamPrepareHeader(HACMSTREAM has, PACMSTREAMHEADER pash, if ((was = ACM_GetStream(has)) == NULL) { WARN("invalid handle\n"); - return MMSYSERR_INVALHANDLE; + return MMSYSERR_INVALHANDLE; } if (!pash || pash->cbStruct < sizeof(ACMSTREAMHEADER)) { WARN("invalid parameter\n"); - return MMSYSERR_INVALPARAM; + return MMSYSERR_INVALPARAM; + } + if (fdwPrepare) { + WARN("invalid use of reserved parameter\n"); + return MMSYSERR_INVALFLAG; } - if (fdwPrepare) - ret = MMSYSERR_INVALFLAG; /* Note: the ACMSTREAMHEADER and ACMDRVSTREAMHEADER structs are of same * size. some fields are private to msacm internals, and are exposed diff --git a/dlls/msacm32/tests/msacm.c b/dlls/msacm32/tests/msacm.c index 812a1bb..06e530b 100644 --- a/dlls/msacm32/tests/msacm.c +++ b/dlls/msacm32/tests/msacm.c @@ -601,7 +601,6 @@ todo_wine hdr.cbSrcLength = src->wfx.nBlockAlign; mr = acmStreamPrepareHeader(has, &hdr, 1); /* invalid use of reserved parameter */ -todo_wine ok(mr == MMSYSERR_INVALFLAG, "expected 0x0a, got 0x%x\n", mr); mr = acmStreamPrepareHeader(has, &hdr, 0); -- 2.9.3