[Scummvm-git-logs] scummvm master -> e2d7ce9005dc6117c784468d819f5360572516f8

athrxx noreply at scummvm.org
Fri Sep 27 21:17:08 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:
4d05381e17 SCI: (PCJr audio) - minor Coverity fixes
e2d7ce9005 SCUMM: some Coverity fixes


Commit: 4d05381e17abe991d6b9b1f6c27c58fe3a9fbed9
    https://github.com/scummvm/scummvm/commit/4d05381e17abe991d6b9b1f6c27c58fe3a9fbed9
Author: athrxx (athrxx at scummvm.org)
Date: 2024-09-27T23:16:04+02:00

Commit Message:
SCI: (PCJr audio) - minor Coverity fixes

Changed paths:
    engines/sci/sound/drivers/pcjr.cpp


diff --git a/engines/sci/sound/drivers/pcjr.cpp b/engines/sci/sound/drivers/pcjr.cpp
index c84f2fa7ff8..ce3bcfd3ad1 100644
--- a/engines/sci/sound/drivers/pcjr.cpp
+++ b/engines/sci/sound/drivers/pcjr.cpp
@@ -159,10 +159,17 @@ void SoundHWChannel::reset() {
 	_smpAmplitude = 0;
 	_curSample = 0;
 	_pitchBend = 0;
+	_pbDiv = 0;
 }
 
 void SoundHWChannel::recalcSample() {
 	int freq = getFrequency();
+
+	if (freq == 0) {
+		_curSample = 0;
+		return;
+	}
+
 	_freqCount += freq;
 
 	while (_freqCount >= (_outputRate << 1))


Commit: e2d7ce9005dc6117c784468d819f5360572516f8
    https://github.com/scummvm/scummvm/commit/e2d7ce9005dc6117c784468d819f5360572516f8
Author: athrxx (athrxx at scummvm.org)
Date: 2024-09-27T23:16:08+02:00

Commit Message:
SCUMM: some Coverity fixes

Changed paths:
    engines/scumm/actor_he.h
    engines/scumm/he/gfx_primitives_he.cpp
    engines/scumm/he/moonbase/map_mif.h
    engines/scumm/players/player_mac_new.cpp
    engines/scumm/scumm.cpp


diff --git a/engines/scumm/actor_he.h b/engines/scumm/actor_he.h
index 5aa23faf0e8..c5b963e5a71 100644
--- a/engines/scumm/actor_he.h
+++ b/engines/scumm/actor_he.h
@@ -46,6 +46,7 @@ struct HEAnimAuxEntry {
 };
 
 struct HEAnimAuxData {
+	HEAnimAuxData() : auxDefaultSearchBlock(nullptr), externalDataPtr(nullptr), auxDataBlock(nullptr), actor(0) {} 
 	byte *auxDefaultSearchBlock;
 	byte *externalDataPtr;
 	const byte *auxDataBlock;
diff --git a/engines/scumm/he/gfx_primitives_he.cpp b/engines/scumm/he/gfx_primitives_he.cpp
index 81a82a4a039..5f401134101 100644
--- a/engines/scumm/he/gfx_primitives_he.cpp
+++ b/engines/scumm/he/gfx_primitives_he.cpp
@@ -250,6 +250,8 @@ void Wiz::pgClippedThickLineDraw(WizSimpleBitmap *destBM, int asx, int asy, int
 			pgClippedWritePixel(destBM, iCurX, iCurY, clipRectPtr, value);
 		}
 	}
+
+	delete[] aScanLines;
 }
 
 int convertToFixed(int iNumber) {
diff --git a/engines/scumm/he/moonbase/map_mif.h b/engines/scumm/he/moonbase/map_mif.h
index 03c90c370a5..5b24a2ae24d 100644
--- a/engines/scumm/he/moonbase/map_mif.h
+++ b/engines/scumm/he/moonbase/map_mif.h
@@ -69,7 +69,12 @@ struct MapFile {
 		memset(this, 0, sizeof(MapFile));
 
 		mapType = 1;
-		memset((void *)fourPlayerPoints, 0xFF, sizeof(PixelLoc) * 20);
+		memset(fourPlayerPoints, 0xFF, sizeof(fourPlayerPoints));
+		memset(threePlayerPoints, 0xFF, sizeof(threePlayerPoints));
+		memset(twoPlayerPoints, 0xFF, sizeof(twoPlayerPoints));
+		memset(twoVTwoPoints, 0xFF, sizeof(twoVTwoPoints));
+		memset(oneVThreePoints, 0xFF, sizeof(oneVThreePoints));
+		memset(oneVTwoPoints, 0xFF, sizeof(oneVTwoPoints));
 	}
 } PACKED_STRUCT;
 
diff --git a/engines/scumm/players/player_mac_new.cpp b/engines/scumm/players/player_mac_new.cpp
index 5ffb6989ee2..c6f36c599a0 100644
--- a/engines/scumm/players/player_mac_new.cpp
+++ b/engines/scumm/players/player_mac_new.cpp
@@ -531,6 +531,10 @@ MacLowLevelPCMDriver::ChanHandle MacSndChannel::getHandle() const {
 }
 
 void MacSndChannel::playSamples(const MacLowLevelPCMDriver::PCMSound *snd) {
+	if (!snd) {
+		warning("%s(): nullptr sound argument", __FUNCTION__);
+		return;
+	}
 	setupRateConv(_drv->getStatus().deviceRate, calcNoteRateAdj(60 - snd->baseFreq), snd->rate, true);
 	setupSound(snd);
 	startSound(0);
diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp
index 9d9e7572286..357f18bf976 100644
--- a/engines/scumm/scumm.cpp
+++ b/engines/scumm/scumm.cpp
@@ -3248,6 +3248,7 @@ void ScummEngine_v3::terminateSaveMenuScript() {
 				// --- Start of code from o5_chainScript() with arguments (119, [])...
 				int cur = _currentScript;
 
+				assert(cur != 0xFF);
 				vm.slot[cur].number = 0;
 				vm.slot[cur].status = ssDead;
 				_currentScript = 0xFF;




More information about the Scummvm-git-logs mailing list