Module: wine Branch: master Commit: 37f159e1cb26c3f3a666f76f76c1f8809538bbe3 URL: http://source.winehq.org/git/wine.git/?a=commit;h=37f159e1cb26c3f3a666f76f76...
Author: Bruno Jesus 00cpxxx@gmail.com Date: Sun Aug 28 04:07:30 2016 -0300
msacm32: Use a helper to validate stream pointers.
Signed-off-by: Bruno Jesus 00cpxxx@gmail.com Signed-off-by: Andrew Eikum aeikum@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/msacm32/stream.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-)
diff --git a/dlls/msacm32/stream.c b/dlls/msacm32/stream.c index 4b4976f..6e81151 100644 --- a/dlls/msacm32/stream.c +++ b/dlls/msacm32/stream.c @@ -50,6 +50,15 @@ static PWINE_ACMSTREAM ACM_GetStream(HACMSTREAM has) return (PWINE_ACMSTREAM)has; }
+static BOOL ACM_ValidatePointers(PACMDRVSTREAMHEADER padsh) +{ + /* check that pointers have not been modified */ + return !(padsh->pbPreparedSrc != padsh->pbSrc || + padsh->cbPreparedSrcLength < padsh->cbSrcLength || + padsh->pbPreparedDst != padsh->pbDst || + padsh->cbPreparedDstLength < padsh->cbDstLength); +} + /*********************************************************************** * acmStreamClose (MSACM32.@) */ @@ -108,13 +117,9 @@ MMRESULT WINAPI acmStreamConvert(HACMSTREAM has, PACMSTREAMHEADER pash, */ padsh = (PACMDRVSTREAMHEADER)pash;
- /* check that pointers have not been modified */ - if (padsh->pbPreparedSrc != padsh->pbSrc || - padsh->cbPreparedSrcLength < padsh->cbSrcLength || - padsh->pbPreparedDst != padsh->pbDst || - padsh->cbPreparedDstLength < padsh->cbDstLength) { + if (!ACM_ValidatePointers(padsh)) { WARN("invalid parameter\n"); - return MMSYSERR_INVALPARAM; + return MMSYSERR_INVALPARAM; }
padsh->fdwConvert = fdwConvert; @@ -467,13 +472,9 @@ MMRESULT WINAPI acmStreamUnprepareHeader(HACMSTREAM has, PACMSTREAMHEADER pash, */ padsh = (PACMDRVSTREAMHEADER)pash;
- /* check that pointers have not been modified */ - if (padsh->pbPreparedSrc != padsh->pbSrc || - padsh->cbPreparedSrcLength < padsh->cbSrcLength || - padsh->pbPreparedDst != padsh->pbDst || - padsh->cbPreparedDstLength < padsh->cbDstLength) { + if (!ACM_ValidatePointers(padsh)) { WARN("invalid parameter\n"); - return MMSYSERR_INVALPARAM; + return MMSYSERR_INVALPARAM; }
padsh->fdwConvert = fdwUnprepare;