[PATCH 3/3] msacm32: Use a helper to validate stream pointers
Bruno Jesus
00cpxxx at gmail.com
Sun Aug 28 02:07:30 CDT 2016
Signed-off-by: Bruno Jesus <00cpxxx at gmail.com>
---
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;
--
2.9.3
More information about the wine-patches
mailing list