[Scummvm-git-logs] scummvm master -> c69ffda82b1eb0cb55087c2a0b6eba2223453b4a
sev-
noreply at scummvm.org
Mon Oct 21 20:35:14 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:
f85d6f4385 QDENGINE: Fix potential array underrun. PVS-Studio V557
47432fa60a QDENGINE: Simplify check by removing always-true part. PVS-Studio V560
137fc71645 QDENGINE: Try to continue execution on errors in minigame parameters. PVS-Studio V547, V560
9be306a4e4 QDENGINE: Fix potential null dereference. PVS-Studio V595
fa1b1d2b49 QDENGINE: Merged equal condition bodies. PVS-Studio V581
9ea8131442 QDENGINE: Clapped same condition bodies. PVS-Studio V581
5bc8ab4c48 QDENGINE: Make sure class is initialized. PVS-Studio V1077
c517c54915 QDENGINE: Fix potential null derederence. PVS-Studio V522
5280d10d62 QDENGINE: Clamped together identical code branches. PVS-Studio V1037
c69ffda82b QDENGINE: Clamped together identical code branches. PVS-Studio V1037
Commit: f85d6f4385b03547d104a85d1e86c95a6f89eba7
https://github.com/scummvm/scummvm/commit/f85d6f4385b03547d104a85d1e86c95a6f89eba7
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T22:34:51+02:00
Commit Message:
QDENGINE: Fix potential array underrun. PVS-Studio V557
Changed paths:
engines/qdengine/minigames/3mice2_sudoku.h
diff --git a/engines/qdengine/minigames/3mice2_sudoku.h b/engines/qdengine/minigames/3mice2_sudoku.h
index 911b2b2123c..00a755a8ac1 100644
--- a/engines/qdengine/minigames/3mice2_sudoku.h
+++ b/engines/qdengine/minigames/3mice2_sudoku.h
@@ -177,7 +177,7 @@ public:
num = getObjNum(clickObj->name());
debugC(2, kDebugMinigames, "clickObj: zone is: %d for name: '%s'", num, clickObj->name());
- if (num > -1) {
+ if (num > 0) {
_figures[num - 1]->set_state("hide");
_figures[num + 12]->set_state("to_inv");
}
@@ -199,7 +199,7 @@ public:
debugC(2, kDebugMinigames, "clickObj: zone is: %d for name: '%s'", num, clickObj->name());
debugC(2, kDebugMinigames, "mouseObj: zone is: %d for name: '%s'", num2, mouseObj->name());
- if (num > -1 && num2 > -1 && !posIsSet(num - 1)) {
+ if (num > 0 && num2 > 0 && !posIsSet(num - 1)) {
_objTarget->set_state(Common::String::format("%d", num).c_str());
_objTarget->update_screen_R();
Commit: 47432fa60adfd8a294709eb286e339163fcc5c50
https://github.com/scummvm/scummvm/commit/47432fa60adfd8a294709eb286e339163fcc5c50
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T22:34:51+02:00
Commit Message:
QDENGINE: Simplify check by removing always-true part. PVS-Studio V560
Changed paths:
engines/qdengine/minigames/3mice2_testo.h
diff --git a/engines/qdengine/minigames/3mice2_testo.h b/engines/qdengine/minigames/3mice2_testo.h
index 7cfc85b5af3..40d2fd3a80c 100644
--- a/engines/qdengine/minigames/3mice2_testo.h
+++ b/engines/qdengine/minigames/3mice2_testo.h
@@ -215,7 +215,7 @@ public:
}
}
- if (mouseObj && clickObj) {
+ if (clickObj) { // && mouseObj
name = clickObj->name();
if (strstr(name, "notesto") && num > 0 && num <= 8) {
Commit: 137fc716451d698ca6dcdda659c3259bc8fc83c4
https://github.com/scummvm/scummvm/commit/137fc716451d698ca6dcdda659c3259bc8fc83c4
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T22:34:51+02:00
Commit Message:
QDENGINE: Try to continue execution on errors in minigame parameters. PVS-Studio V547, V560
Changed paths:
engines/qdengine/minigames/adv/EventManager.cpp
diff --git a/engines/qdengine/minigames/adv/EventManager.cpp b/engines/qdengine/minigames/adv/EventManager.cpp
index b7decb7069d..fb6e7dbdf4d 100644
--- a/engines/qdengine/minigames/adv/EventManager.cpp
+++ b/engines/qdengine/minigames/adv/EventManager.cpp
@@ -58,7 +58,7 @@ EventManager::EventManager() {
int read = sscanf(descr, "%d %d", &preset.score, &preset.triggerEventID);
if (read != 2)
- error("EventManager(): Incorrect description string: %s", str_cache);
+ warning("EventManager(): Incorrect description string: %s", str_cache);
if (read == 2) {
if (preset.triggerEventID >= (int)_triggerEvents.size())
@@ -77,7 +77,7 @@ EventManager::EventManager() {
int read = sscanf(descr, "%d %d %d %d", &preset.score, &preset.fontID, &preset.escapeID, &preset.triggerEventID);
if (read != 4)
- error("EventManager(): Incorrect event description string: %d", idx);
+ warning("EventManager(): Incorrect event description string: %d", idx);
if (preset.triggerEventID >= (int)_triggerEvents.size())
error("EventManager(): Reference to an unregistered trigger in %s", str_cache);
Commit: 9be306a4e4a9261dcf544d42b1ee74fe555b5fec
https://github.com/scummvm/scummvm/commit/9be306a4e4a9261dcf544d42b1ee74fe555b5fec
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T22:34:51+02:00
Commit Message:
QDENGINE: Fix potential null dereference. PVS-Studio V595
Changed paths:
engines/qdengine/minigames/adv/RunTime.cpp
diff --git a/engines/qdengine/minigames/adv/RunTime.cpp b/engines/qdengine/minigames/adv/RunTime.cpp
index 12629c85237..6b55ee40207 100644
--- a/engines/qdengine/minigames/adv/RunTime.cpp
+++ b/engines/qdengine/minigames/adv/RunTime.cpp
@@ -249,7 +249,7 @@ bool MinigameManager::createGame() {
}
#define SAFE_RELEASE(name) \
- if(name){ \
+ if (name) { \
scene_->release_object_interface(name); \
name = 0; \
}
@@ -274,8 +274,10 @@ bool MinigameManager::finit() {
delete timeManager_;
timeManager_ = 0;
- SAFE_RELEASE(state_flag_)
- SAFE_RELEASE(pause_flag_)
+ if (scene_) {
+ SAFE_RELEASE(state_flag_)
+ SAFE_RELEASE(pause_flag_)
+ }
release(complete_help_miniature_);
release(complete_help_);
Commit: fa1b1d2b49c30afb6dc1c8dc24e538439742aa52
https://github.com/scummvm/scummvm/commit/fa1b1d2b49c30afb6dc1c8dc24e538439742aa52
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T22:34:51+02:00
Commit Message:
QDENGINE: Merged equal condition bodies. PVS-Studio V581
Changed paths:
engines/qdengine/minigames/adv/RunTime.cpp
diff --git a/engines/qdengine/minigames/adv/RunTime.cpp b/engines/qdengine/minigames/adv/RunTime.cpp
index 6b55ee40207..0c04ad27442 100644
--- a/engines/qdengine/minigames/adv/RunTime.cpp
+++ b/engines/qdengine/minigames/adv/RunTime.cpp
@@ -795,11 +795,11 @@ float MinigameManager::getDepth(const mgVect3f& pos) const {
}
QDObject MinigameManager::getObject(const char *name) const {
- if (!name || !*name)
+ if (!name || !*name) {
warning("MinigameManager::getObject(): null name");
-
- if (!name || !*name)
return QDObject::ZERO;
+ }
+
qdMinigameObjectInterface *obj = scene_->object_interface(name);
if (!obj)
warning("MinigameManager::getObject(): Object '%s' not found", transCyrillic(name));
Commit: 9ea813144293e40d634701606b2634f13ddd8e84
https://github.com/scummvm/scummvm/commit/9ea813144293e40d634701606b2634f13ddd8e84
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T22:34:51+02:00
Commit Message:
QDENGINE: Clapped same condition bodies. PVS-Studio V581
Changed paths:
engines/qdengine/minigames/adv/RunTime.cpp
engines/qdengine/minigames/adv/TextManager.cpp
diff --git a/engines/qdengine/minigames/adv/RunTime.cpp b/engines/qdengine/minigames/adv/RunTime.cpp
index 0c04ad27442..f99d4078beb 100644
--- a/engines/qdengine/minigames/adv/RunTime.cpp
+++ b/engines/qdengine/minigames/adv/RunTime.cpp
@@ -1020,7 +1020,7 @@ TimeManager::TimeManager(HoldData<TimeManagerData> &data_) {
sscanf(data, "%f", &timeCost_);
}
- direction_ = DOWN;
+ direction_ = DOWN; // Default value
if (timeBar_) {
TimeManagerData myData;
@@ -1036,10 +1036,8 @@ TimeManager::TimeManager(HoldData<TimeManagerData> &data_) {
if (sscanf(data, "%d", &dir) == 1) {
assert(dir >= 0 && dir <= 3);
direction_ = Direction(dir);
- } else
- direction_ = DOWN;
- } else
- direction_ = DOWN;
+ }
+ }
} else
size_ = mgVect2f(-1.f, -1.f);
diff --git a/engines/qdengine/minigames/adv/TextManager.cpp b/engines/qdengine/minigames/adv/TextManager.cpp
index ba6dea00290..5c67bec7495 100644
--- a/engines/qdengine/minigames/adv/TextManager.cpp
+++ b/engines/qdengine/minigames/adv/TextManager.cpp
@@ -69,11 +69,10 @@ TextManager::TextManager() {
&escape.accel_min.x, &escape.accel_max.x, &escape.accel_min.y, &escape.accel_max.y,
&escape.aliveTime, escape.format);
- if (read != 11)
+ if (read != 11) {
warning("TextManager(): incorrect particle definition in [%s]", str_cache);
-
- if (read != 11)
break;
+ }
_escapes.push_back(escape);
} else
break;
@@ -104,19 +103,18 @@ bool TextManager::getStaticPreset(StaticTextPreset& preset, const char* name) co
str[63] = 0;
int read = sscanf(descr, "%d %d |%63s", &align, &preset.font, str);
- if (read != 3)
+ if (read != 3) {
warning("TextManager::getStaticPreset(): Incorrect text format description in %s", transCyrillic(name));
-
- if (read != 3)
return false;
+ }
char *pos_obj = strchr(str, '|');
- if (!pos_obj)
+ if (!pos_obj) {
warning("TextManager::getStaticPreset(): Incorrect text format description (2) in %s", transCyrillic(name));
-
- if (!pos_obj)
return false;
+ }
+
*pos_obj = 0;
++pos_obj;
Commit: 5bc8ab4c4813bbf79727f2bf53ff545272443333
https://github.com/scummvm/scummvm/commit/5bc8ab4c4813bbf79727f2bf53ff545272443333
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T22:34:51+02:00
Commit Message:
QDENGINE: Make sure class is initialized. PVS-Studio V1077
Changed paths:
engines/qdengine/minigames/adv/m_triangles.h
diff --git a/engines/qdengine/minigames/adv/m_triangles.h b/engines/qdengine/minigames/adv/m_triangles.h
index e9ac06e1c78..1e57046e809 100644
--- a/engines/qdengine/minigames/adv/m_triangles.h
+++ b/engines/qdengine/minigames/adv/m_triangles.h
@@ -78,7 +78,7 @@ public:
void quant(float dt);
private:
- GameType gameType_;
+ GameType gameType_ = TRIANGLE;
Coords positions_;
int selectDepth_ = 0;
Commit: c517c5491519a0304979f79005e491a8ae907481
https://github.com/scummvm/scummvm/commit/c517c5491519a0304979f79005e491a8ae907481
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T22:34:51+02:00
Commit Message:
QDENGINE: Fix potential null derederence. PVS-Studio V522
Changed paths:
engines/qdengine/minigames/tetris.h
diff --git a/engines/qdengine/minigames/tetris.h b/engines/qdengine/minigames/tetris.h
index abfc2a13e42..261af31035c 100644
--- a/engines/qdengine/minigames/tetris.h
+++ b/engines/qdengine/minigames/tetris.h
@@ -50,6 +50,9 @@ public:
if (!_flyingObjs) {
_flyingObjs = (qdMinigameObjectInterface **)malloc(5 * sizeof(qdMinigameObjectInterface *));
+ if (!_flyingObjs)
+ return false;
+
for (int i = 0; i < 5; i++) {
Common::String name = Common::String::format("\xeb\xe5\xf2\xe8\xf2%d", i + 1); // "леÑиÑ%i"
_flyingObjs[i] = _scene->object_interface(_scene->minigame_parameter(name.c_str()));
@@ -59,6 +62,9 @@ public:
if (!_hiddenObjs) {
_hiddenObjs = (qdMinigameObjectInterface **)malloc(5 * sizeof(qdMinigameObjectInterface *));
+ if (!_hiddenObjs)
+ return false;
+
for (int i = 0; i < 5; i++) {
Common::String name = Common::String::format("\xf1\xea\xf0\xfb\xf2%d", i + 1); // "ÑкÑÑÑ%i"
_hiddenObjs[i] = _scene->object_interface(_scene->minigame_parameter(name.c_str()));
Commit: 5280d10d62bdf8cad3955e1416a3582383d6617d
https://github.com/scummvm/scummvm/commit/5280d10d62bdf8cad3955e1416a3582383d6617d
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T22:34:52+02:00
Commit Message:
QDENGINE: Clamped together identical code branches. PVS-Studio V1037
Changed paths:
engines/qdengine/qdcore/qd_condition.cpp
diff --git a/engines/qdengine/qdcore/qd_condition.cpp b/engines/qdengine/qdcore/qd_condition.cpp
index f54569b6c58..10cbeb843fb 100644
--- a/engines/qdengine/qdcore/qd_condition.cpp
+++ b/engines/qdengine/qdcore/qd_condition.cpp
@@ -78,6 +78,8 @@ void qdCondition::set_type(ConditionType tp) {
case CONDITION_FALSE:
break;
case CONDITION_MOUSE_CLICK:
+ case CONDITION_PERSONAGE_ACTIVE:
+ case CONDITION_MOUSE_ZONE_CLICK:
_data.resize(1);
_objects.resize(1);
init_data(0, qdConditionData::DATA_STRING);
@@ -130,11 +132,6 @@ void qdCondition::set_type(ConditionType tp) {
init_data(0, qdConditionData::DATA_STRING);
init_data(1, qdConditionData::DATA_STRING);
break;
- case CONDITION_MOUSE_ZONE_CLICK:
- _data.resize(1);
- _objects.resize(1);
- init_data(0, qdConditionData::DATA_STRING);
- break;
case CONDITION_MOUSE_OBJECT_ZONE_CLICK:
_data.resize(2);
_objects.resize(2);
@@ -163,11 +160,6 @@ void qdCondition::set_type(ConditionType tp) {
init_data(1, qdConditionData::DATA_STRING);
init_data(2, qdConditionData::DATA_FLOAT, 1);
break;
- case CONDITION_PERSONAGE_ACTIVE:
- _data.resize(1);
- _objects.resize(1);
- init_data(0, qdConditionData::DATA_STRING);
- break;
case CONDITION_OBJECT_STATE_WAITING:
_data.resize(2);
_objects.resize(2);
Commit: c69ffda82b1eb0cb55087c2a0b6eba2223453b4a
https://github.com/scummvm/scummvm/commit/c69ffda82b1eb0cb55087c2a0b6eba2223453b4a
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T22:34:52+02:00
Commit Message:
QDENGINE: Clamped together identical code branches. PVS-Studio V1037
Changed paths:
engines/qdengine/qdcore/qd_game_object_moving.cpp
diff --git a/engines/qdengine/qdcore/qd_game_object_moving.cpp b/engines/qdengine/qdcore/qd_game_object_moving.cpp
index 970c4b5c7b9..8292eb34f7d 100644
--- a/engines/qdengine/qdcore/qd_game_object_moving.cpp
+++ b/engines/qdengine/qdcore/qd_game_object_moving.cpp
@@ -1039,8 +1039,6 @@ bool qdGameObjectMoving::update_screen_pos() {
qdGameObjectStateWalk::OffsetType offs_type = qdGameObjectStateWalk::OFFSET_WALK;
switch (_movement_mode) {
case MOVEMENT_MODE_STOP:
- offs_type = qdGameObjectStateWalk::OFFSET_STATIC;
- break;
case MOVEMENT_MODE_TURN:
offs_type = qdGameObjectStateWalk::OFFSET_STATIC;
break;
@@ -1050,7 +1048,7 @@ bool qdGameObjectMoving::update_screen_pos() {
case MOVEMENT_MODE_MOVE:
offs_type = qdGameObjectStateWalk::OFFSET_WALK;
break;
- case MOVEMENT_MODE_END:
+ case MOVEMENT_MODE_END:
offs_type = qdGameObjectStateWalk::OFFSET_END;
break;
}
More information about the Scummvm-git-logs
mailing list