[Scummvm-git-logs] scummvm master -> dae3890985cc89b0d77d9d861a1c59d1c672aa9a
sev-
noreply at scummvm.org
Fri Oct 25 14:00:13 UTC 2024
This automated email contains information about 10 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
0c67d7fb57 WAGE: Fix potential use after free. CID 1559336
d06a7f1168 COMMON: Add destructor to TextToSpeechManager. CID 1453087
ca9ad6e4dd DGDS: Plug memory leak. CID 1563899
c383b98f29 SLUDGE: Plug memory leak. CID 1383944
593aa1e964 WINTERMUTE: Plug memory leak. CID 1563426
82e3286f61 ZVISION: Plug memory leak. CID 1432261
60d2b72fb1 BACKENDS: OPENGLSDL: Fix potential division by zero. CID 1452787
045f4577a3 AGS: Fix potential division by zero. CID 1458721, 1458728
565bc2db60 HADESCH: Fix potential division by zero. CID 1438144
dae3890985 HADESCH: Fix potnetial division by zero. CID 1435877
Commit: 0c67d7fb5747e4fe8de98eb5b3349b8e40e4fd6c
https://github.com/scummvm/scummvm/commit/0c67d7fb5747e4fe8de98eb5b3349b8e40e4fd6c
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-25T15:59:56+02:00
Commit Message:
WAGE: Fix potential use after free. CID 1559336
Changed paths:
engines/wage/wage.cpp
diff --git a/engines/wage/wage.cpp b/engines/wage/wage.cpp
index 8c852b14809..30cfeccfd44 100644
--- a/engines/wage/wage.cpp
+++ b/engines/wage/wage.cpp
@@ -157,7 +157,9 @@ Common::Error WageEngine::run() {
if (_restartRequested)
restart();
- _gui->draw();
+ if (_gui)
+ _gui->draw();
+
g_system->updateScreen();
g_system->delayMillis(50);
@@ -175,10 +177,14 @@ void WageEngine::restart() {
delete _gui;
delete _world;
+ _gui = nullptr;
+
_world = new World(this);
- if (!_world->loadWorld(_resManager))
+ if (!_world->loadWorld(_resManager)) {
+ _shouldQuit = true;
return;
+ }
_shouldQuit = false;
Commit: d06a7f11684bf7ca5dbae62d83fdfc5d1eabddc2
https://github.com/scummvm/scummvm/commit/d06a7f11684bf7ca5dbae62d83fdfc5d1eabddc2
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-25T15:59:56+02:00
Commit Message:
COMMON: Add destructor to TextToSpeechManager. CID 1453087
Changed paths:
common/text-to-speech.cpp
common/text-to-speech.h
diff --git a/common/text-to-speech.cpp b/common/text-to-speech.cpp
index 2e22b9777d6..f654670a628 100644
--- a/common/text-to-speech.cpp
+++ b/common/text-to-speech.cpp
@@ -86,6 +86,17 @@ TextToSpeechManager::TextToSpeechManager() {
_ttsState->_next = nullptr;
}
+TextToSpeechManager::~TextToSpeechManager() {
+ while (_ttsState->_next != nullptr) {
+ Common::TTSState *oldState = _ttsState;
+ _ttsState = _ttsState->_next;
+
+ delete oldState;
+ }
+
+ delete _ttsState;
+}
+
void TextToSpeechManager::pushState() {
stop();
TTSState *newState = new TTSState;
diff --git a/common/text-to-speech.h b/common/text-to-speech.h
index 0a98fe667de..e520361aa0b 100644
--- a/common/text-to-speech.h
+++ b/common/text-to-speech.h
@@ -157,7 +157,7 @@ public:
* pitch and volume to their middle values.
*/
TextToSpeechManager();
- virtual ~TextToSpeechManager() {}
+ virtual ~TextToSpeechManager();
/**
* Says the given string
Commit: ca9ad6e4dd6627f861a40d0e8c5214cd2ebaa5ba
https://github.com/scummvm/scummvm/commit/ca9ad6e4dd6627f861a40d0e8c5214cd2ebaa5ba
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-25T15:59:56+02:00
Commit Message:
DGDS: Plug memory leak. CID 1563899
Changed paths:
engines/dgds/sound/resource/resource_audio.cpp
diff --git a/engines/dgds/sound/resource/resource_audio.cpp b/engines/dgds/sound/resource/resource_audio.cpp
index 41226a1c043..d81b4f549ae 100644
--- a/engines/dgds/sound/resource/resource_audio.cpp
+++ b/engines/dgds/sound/resource/resource_audio.cpp
@@ -165,6 +165,8 @@ SoundResource::~SoundResource() {
delete[] _tracks[trackNr].channels;
delete[] _tracks;
}
+
+ delete _resource;
}
Commit: c383b98f29f0685a6411e990ee660abe13c5cb0c
https://github.com/scummvm/scummvm/commit/c383b98f29f0685a6411e990ee660abe13c5cb0c
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-25T15:59:57+02:00
Commit Message:
SLUDGE: Plug memory leak. CID 1383944
Changed paths:
engines/sludge/speech.cpp
diff --git a/engines/sludge/speech.cpp b/engines/sludge/speech.cpp
index 0a66f9a31bf..8b2b8b90ae3 100644
--- a/engines/sludge/speech.cpp
+++ b/engines/sludge/speech.cpp
@@ -68,6 +68,7 @@ void SpeechManager::kill() {
killMe = nullptr;
}
_speech->allSpeech.clear();
+ delete _speech;
}
void SpeechManager::setObjFontColour(ObjectType *t) {
Commit: 593aa1e964fd6d9fe28dacb980cd14ef81d4c8c5
https://github.com/scummvm/scummvm/commit/593aa1e964fd6d9fe28dacb980cd14ef81d4c8c5
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-25T15:59:57+02:00
Commit Message:
WINTERMUTE: Plug memory leak. CID 1563426
_ptr was not freed in the destructor
Changed paths:
engines/wintermute/base/gfx/xbuffer.h
diff --git a/engines/wintermute/base/gfx/xbuffer.h b/engines/wintermute/base/gfx/xbuffer.h
index 486ea2bdd04..ae4178a4cc8 100644
--- a/engines/wintermute/base/gfx/xbuffer.h
+++ b/engines/wintermute/base/gfx/xbuffer.h
@@ -36,8 +36,7 @@ private:
public:
DXBuffer() {
- _ptr = nullptr;
- _size = 0;
+ free();
}
DXBuffer(uint64 size) {
Commit: 82e3286f610198054066b034c92ba70aa2114a61
https://github.com/scummvm/scummvm/commit/82e3286f610198054066b034c92ba70aa2114a61
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-25T15:59:57+02:00
Commit Message:
ZVISION: Plug memory leak. CID 1432261
Changed paths:
engines/zvision/scripting/actions.cpp
engines/zvision/scripting/actions.h
diff --git a/engines/zvision/scripting/actions.cpp b/engines/zvision/scripting/actions.cpp
index 6032a497509..2cbd5fe934a 100644
--- a/engines/zvision/scripting/actions.cpp
+++ b/engines/zvision/scripting/actions.cpp
@@ -66,6 +66,10 @@ ActionAdd::ActionAdd(ZVision *engine, int32 slotKey, const Common::String &line)
_value = new ValueSlot(_scriptManager, buf);
}
+ActionAdd::~ActionAdd() {
+ delete _value;
+}
+
bool ActionAdd::execute() {
_scriptManager->setStateValue(_key, _scriptManager->getStateValue(_key) + _value->getValue());
return true;
diff --git a/engines/zvision/scripting/actions.h b/engines/zvision/scripting/actions.h
index 00313607d8c..343c17620ec 100644
--- a/engines/zvision/scripting/actions.h
+++ b/engines/zvision/scripting/actions.h
@@ -59,6 +59,7 @@ protected:
class ActionAdd : public ResultAction {
public:
ActionAdd(ZVision *engine, int32 slotkey, const Common::String &line);
+ ~ActionAdd();
bool execute() override;
private:
Commit: 60d2b72fb1d2b5a4ada25ac62505dc6d20fb09f7
https://github.com/scummvm/scummvm/commit/60d2b72fb1d2b5a4ada25ac62505dc6d20fb09f7
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-25T15:59:57+02:00
Commit Message:
BACKENDS: OPENGLSDL: Fix potential division by zero. CID 1452787
Changed paths:
backends/graphics/openglsdl/openglsdl-graphics.cpp
diff --git a/backends/graphics/openglsdl/openglsdl-graphics.cpp b/backends/graphics/openglsdl/openglsdl-graphics.cpp
index ed320391956..35dd7e3101d 100644
--- a/backends/graphics/openglsdl/openglsdl-graphics.cpp
+++ b/backends/graphics/openglsdl/openglsdl-graphics.cpp
@@ -435,6 +435,9 @@ bool OpenGLSdlGraphicsManager::loadVideoMode(uint requestedWidth, uint requested
ConfMan.setInt("last_window_height", requestedHeight, Common::ConfigManager::kApplicationDomain);
ConfMan.flushToDisk();
}
+
+ if (requestedHeight == 0)
+ requestedHeight = 100; // Add at least some sane value instead of dividing by zero
}
#else
Commit: 045f4577a398ceda5c5b71687ee0b23a00ab5a65
https://github.com/scummvm/scummvm/commit/045f4577a398ceda5c5b71687ee0b23a00ab5a65
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-25T15:59:57+02:00
Commit Message:
AGS: Fix potential division by zero. CID 1458721, 1458728
Changed paths:
engines/ags/plugins/ags_waves/draw.cpp
diff --git a/engines/ags/plugins/ags_waves/draw.cpp b/engines/ags/plugins/ags_waves/draw.cpp
index 8e9691ef217..d6bcf36ec60 100644
--- a/engines/ags/plugins/ags_waves/draw.cpp
+++ b/engines/ags/plugins/ags_waves/draw.cpp
@@ -79,6 +79,9 @@ void AGSWaves::DrawBlur(ScriptMethodParams ¶ms) {
vx++;
}
+ if (!pixels_parsed)
+ pixels_parsed = 1;
+
int rN = totalRed / pixels_parsed;
int gN = totalGreen / pixels_parsed;
int bN = totalBlue / pixels_parsed;
@@ -125,6 +128,9 @@ void AGSWaves::DrawBlur(ScriptMethodParams ¶ms) {
vy++;
}
+ if (!pixels_parsed)
+ pixels_parsed = 1;
+
int rN = totalRed / pixels_parsed;
int gN = totalGreen / pixels_parsed;
int bN = totalBlue / pixels_parsed;
@@ -668,6 +674,9 @@ void AGSWaves::TintProper(ScriptMethodParams ¶ms) {
vx++;
}
+ if (!pixels_parsed)
+ pixels_parsed = 1;
+
int rN = totalRed / pixels_parsed;
int gN = totalGreen / pixels_parsed;
int bN = totalBlue / pixels_parsed;
@@ -719,6 +728,9 @@ void AGSWaves::TintProper(ScriptMethodParams ¶ms) {
vy++;
}
+ if (!pixels_parsed)
+ pixels_parsed = 1;
+
int rN = totalRed / pixels_parsed;
int gN = totalGreen / pixels_parsed;
int bN = totalBlue / pixels_parsed;
Commit: 565bc2db603e32c360984ac6fa479cdf3fc1d16e
https://github.com/scummvm/scummvm/commit/565bc2db603e32c360984ac6fa479cdf3fc1d16e
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-25T15:59:57+02:00
Commit Message:
HADESCH: Fix potential division by zero. CID 1438144
Changed paths:
engines/hadesch/hadesch.cpp
diff --git a/engines/hadesch/hadesch.cpp b/engines/hadesch/hadesch.cpp
index 2fe395d099b..2a842a6ef3a 100644
--- a/engines/hadesch/hadesch.cpp
+++ b/engines/hadesch/hadesch.cpp
@@ -544,10 +544,16 @@ Common::Error HadeschEngine::run() {
_mixer->setVolumeForSoundType(_mixer->kSFXSoundType, ConfMan.getInt("sfx_volume"));
_mixer->setVolumeForSoundType(_mixer->kSpeechSoundType, ConfMan.getInt("speech_volume"));
- if (!ConfMan.getBool("subtitles"))
+ if (!ConfMan.getBool("subtitles")) {
_subtitleDelayPerChar = -1;
- else
+ }else {
+ int talkSpeed = ConfMan.getInt("talkspeed");
+
+ if (!talkSpeed)
+ talkSpeed = 0;
+
_subtitleDelayPerChar = 4500 / ConfMan.getInt("talkspeed");
+ }
debug("HadeschEngine: moving to main loop");
_nextRoom.clear();
Commit: dae3890985cc89b0d77d9d861a1c59d1c672aa9a
https://github.com/scummvm/scummvm/commit/dae3890985cc89b0d77d9d861a1c59d1c672aa9a
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-25T15:59:57+02:00
Commit Message:
HADESCH: Fix potnetial division by zero. CID 1435877
Changed paths:
engines/hadesch/rooms/minotaur.cpp
diff --git a/engines/hadesch/rooms/minotaur.cpp b/engines/hadesch/rooms/minotaur.cpp
index 8ecb847fcc7..f96a6abc737 100644
--- a/engines/hadesch/rooms/minotaur.cpp
+++ b/engines/hadesch/rooms/minotaur.cpp
@@ -480,6 +480,10 @@ private:
static void readLabStream(Labyrinth &lab, Common::SharedPtr<Common::SeekableReadStream> stream) {
stream->readLine(); // Level number
int gridSize = stream->readLine().asUint64();
+
+ if (gridSize == 0)
+ gridSize = 1;
+
stream->readLine(); // ?
stream->readLine(); // ?
int numLines = stream->readLine().asUint64();
More information about the Scummvm-git-logs
mailing list