[Scummvm-git-logs] scummvm master -> 9999b9f2b0c47d6aae55ce742de1ca7297c9f802
Strangerke
noreply at scummvm.org
Thu Jun 26 05:32:34 UTC 2025
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
9999b9f2b0 M4: Fix multiple null dereferencing in guiMenu::eventHandler (Coverity SID 1591662)
Commit: 9999b9f2b0c47d6aae55ce742de1ca7297c9f802
https://github.com/scummvm/scummvm/commit/9999b9f2b0c47d6aae55ce742de1ca7297c9f802
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2025-06-26T06:32:19+01:00
Commit Message:
M4: Fix multiple null dereferencing in guiMenu::eventHandler (Coverity SID 1591662)
Changed paths:
engines/m4/gui/gui_menu_items.cpp
diff --git a/engines/m4/gui/gui_menu_items.cpp b/engines/m4/gui/gui_menu_items.cpp
index 98a4a851b1f..a3924e6e1fc 100644
--- a/engines/m4/gui/gui_menu_items.cpp
+++ b/engines/m4/gui/gui_menu_items.cpp
@@ -426,7 +426,7 @@ bool guiMenu::eventHandler(guiMenu *theMenu, int32 eventType, int32 parm1, int32
// If we are currently handling the events for an item, continue until that item releases control
if (_GM(menuCurrItem)) {
handled = (_GM(menuCurrItem)->itemEventHandler)(_GM(menuCurrItem), eventType, parm1, menuX, menuY, (void **)&_GM(menuCurrItem));
- if (_GM(menuCurrItem)) {
+ if (_GM(menuCurrItem) && currScreen) {
*currScreen = true;
}
if (handled) {
@@ -447,7 +447,7 @@ bool guiMenu::eventHandler(guiMenu *theMenu, int32 eventType, int32 parm1, int32
if (myItem) {
if (myItem->itemEventHandler) {
(myItem->itemEventHandler)(myItem, eventType, parm1, menuX, menuY, (void **)&_GM(menuCurrItem));
- if (_GM(menuCurrItem)) {
+ if (_GM(menuCurrItem) && currScreen) {
*currScreen = true;
}
return true;
@@ -473,7 +473,8 @@ bool guiMenu::eventHandler(guiMenu *theMenu, int32 eventType, int32 parm1, int32
case _ME_L_click:
case _ME_doubleclick:
if (!(myScreen->scrnFlags & SF_IMMOVABLE)) {
- *currScreen = true;
+ if(currScreen)
+ *currScreen = true;
movingScreen = true;
movingX = parm2;
movingY = parm3;
@@ -491,7 +492,8 @@ bool guiMenu::eventHandler(guiMenu *theMenu, int32 eventType, int32 parm1, int32
case _ME_L_release:
case _ME_doubleclick_release:
- *currScreen = false;
+ if (currScreen)
+ *currScreen = false;
movingScreen = false;
break;
More information about the Scummvm-git-logs
mailing list