[Scummvm-git-logs] scummvm branch-2-9 -> 543674de18febcc0de39f5d142c2c4792f1a6c1d

AndywinXp noreply at scummvm.org
Sun Dec 1 16:56:52 UTC 2024


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
4b19cb776c SCUMM: HE: Fix mem leak in mixer_he
543674de18 SCUMM: HE: Clean up previous fix


Commit: 4b19cb776c2f615c31776ae6035243a52b83097e
    https://github.com/scummvm/scummvm/commit/4b19cb776c2f615c31776ae6035243a52b83097e
Author: AndywinXp (andywinxp at gmail.com)
Date: 2024-12-01T17:56:38+01:00

Commit Message:
SCUMM: HE: Fix mem leak in mixer_he

@tunnelsociety "HEMixerChannel.residualData could
be allocated but not used and freed"

Changed paths:
    engines/scumm/he/mixer_he.cpp


diff --git a/engines/scumm/he/mixer_he.cpp b/engines/scumm/he/mixer_he.cpp
index ebfd59913e1..668c9709e5e 100644
--- a/engines/scumm/he/mixer_he.cpp
+++ b/engines/scumm/he/mixer_he.cpp
@@ -541,7 +541,7 @@ bool HEMixer::mixerStartChannel(
 	}
 
 	bool hasCallbackData = false;
-	if (flags & CHANNEL_CALLBACK_EARLY) {
+	if ((flags & CHANNEL_CALLBACK_EARLY) && !(_mixerChannels[channel].flags & CHANNEL_LOOPING)) {
 		va_start(params, flags);
 		_mixerChannels[channel].endSampleAdjustment = va_arg(params, int);
 		va_end(params);


Commit: 543674de18febcc0de39f5d142c2c4792f1a6c1d
    https://github.com/scummvm/scummvm/commit/543674de18febcc0de39f5d142c2c4792f1a6c1d
Author: AndywinXp (andywinxp at gmail.com)
Date: 2024-12-01T17:56:38+01:00

Commit Message:
SCUMM: HE: Clean up previous fix

Changed paths:
    engines/scumm/he/mixer_he.cpp


diff --git a/engines/scumm/he/mixer_he.cpp b/engines/scumm/he/mixer_he.cpp
index 668c9709e5e..b6a3cb405e2 100644
--- a/engines/scumm/he/mixer_he.cpp
+++ b/engines/scumm/he/mixer_he.cpp
@@ -541,7 +541,7 @@ bool HEMixer::mixerStartChannel(
 	}
 
 	bool hasCallbackData = false;
-	if ((flags & CHANNEL_CALLBACK_EARLY) && !(_mixerChannels[channel].flags & CHANNEL_LOOPING)) {
+	if ((flags & CHANNEL_CALLBACK_EARLY) && !(flags & CHANNEL_LOOPING)) {
 		va_start(params, flags);
 		_mixerChannels[channel].endSampleAdjustment = va_arg(params, int);
 		va_end(params);




More information about the Scummvm-git-logs mailing list