[Scummvm-git-logs] scummvm master -> 2b1bc96edb99c454a6e7cc0a51835a2aec1078af

sev- noreply at scummvm.org
Sat Dec 2 23:22:08 UTC 2023


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:
1c70503f3e SCUMM: Fix buffer overflow while reading localizer strings
2b1bc96edb GUI: ANDROID: Mention SAF when game could not be found in the specified directory


Commit: 1c70503f3e21159044bc2c68966f7b62c20d9270
    https://github.com/scummvm/scummvm/commit/1c70503f3e21159044bc2c68966f7b62c20d9270
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2023-12-02T15:15:17-08:00

Commit Message:
SCUMM: Fix buffer overflow while reading localizer strings

PS. Making this commit and push 10,000 feet in the sky. Free Wi-Fi onboard.

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


diff --git a/engines/scumm/he/localizer.cpp b/engines/scumm/he/localizer.cpp
index a4d6c645264..15e2cd2d64b 100644
--- a/engines/scumm/he/localizer.cpp
+++ b/engines/scumm/he/localizer.cpp
@@ -102,7 +102,11 @@ Localizer::Localizer() {
 	}
 
 	for (uint32 cur = talkieDatOffset; cur < talkieDatOffset + talkieDatSize; cur += 16) {
-	    _talkMap[READ_LE_UINT32(lkBig+cur+4)] = READ_LE_UINT32(lkBig+cur+12);
+		if (cur + 12 < _fileSize) {
+		    _talkMap[READ_LE_UINT32(lkBig+cur+4)] = READ_LE_UINT32(lkBig+cur+12);
+		} else {
+			warning("Localizer: Skipped overflow bytes at 0x%x", cur);
+		}
 	}
 }
 


Commit: 2b1bc96edb99c454a6e7cc0a51835a2aec1078af
    https://github.com/scummvm/scummvm/commit/2b1bc96edb99c454a6e7cc0a51835a2aec1078af
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2023-12-02T15:21:11-08:00

Commit Message:
GUI: ANDROID: Mention SAF when game could not be found in the specified directory

Changed paths:
    gui/launcher.cpp


diff --git a/gui/launcher.cpp b/gui/launcher.cpp
index 9fec603462a..65e21c09fe5 100644
--- a/gui/launcher.cpp
+++ b/gui/launcher.cpp
@@ -654,7 +654,12 @@ bool LauncherDialog::doGameDetection(const Common::String &path) {
 	Common::FSNode dir(path);
 	Common::FSList files;
 	if (!dir.getChildren(files, Common::FSNode::kListAll)) {
-		MessageDialog alert(_("ScummVM couldn't open the specified directory!"));
+		Common::U32String msg(_("ScummVM couldn't open the specified directory!"));
+#ifdef __ANDROID__
+		msg += Common::U32String("\n\n");
+		msg += _("Did you add this directory to the SAF? Press the help button [?] on the top for detailed instructions");
+#endif
+		MessageDialog alert(msg);
 		alert.runModal();
 		return true;
 	}
@@ -673,7 +678,12 @@ bool LauncherDialog::doGameDetection(const Common::String &path) {
 	int idx;
 	if (candidates.empty()) {
 		// No game was found in the specified directory
-		MessageDialog alert(_("ScummVM could not find any game in the specified directory!"));
+		Common::U32String msg(_("ScummVM could not find any game in the specified directory!"));
+#ifdef __ANDROID__
+		msg += Common::U32String("\n\n");
+		msg += _("Did you add this directory to the SAF? Press the help button [?] on the top for detailed instructions");
+#endif
+		MessageDialog alert(msg);
 		alert.runModal();
 		idx = -1;
 		return false;




More information about the Scummvm-git-logs mailing list