[Scummvm-git-logs] scummvm master -> 9d10a998ae83f37eafef524cf1b750923f48cfad

sev- sev at scummvm.org
Wed Jan 31 17:56:37 CET 2018


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:
b166746b9c SCUMM: Fix stack overflow initializing locals
9d10a998ae SCUMM: Fix stack overflow initializing locals


Commit: b166746b9c698e7550f64c418ef18dc91a951ce2
    https://github.com/scummvm/scummvm/commit/b166746b9c698e7550f64c418ef18dc91a951ce2
Author: Colin Snover (github.com at zetafleet.com)
Date: 2018-01-31T17:56:33+01:00

Commit Message:
SCUMM: Fix stack overflow initializing locals

This happens at least when trying to right click on the motorcycle
at the start of Full Throttle.

Changed paths:
    engines/scumm/actor.cpp


diff --git a/engines/scumm/actor.cpp b/engines/scumm/actor.cpp
index f48f0ba..aa94300 100644
--- a/engines/scumm/actor.cpp
+++ b/engines/scumm/actor.cpp
@@ -2844,7 +2844,7 @@ void Actor::runActorTalkScript(int f) {
 
 	if (_talkScript) {
 		int script = _talkScript;
-		int args[16];
+		int args[NUM_SCRIPT_LOCAL];
 		memset(args, 0, sizeof(args));
 		args[1] = f;
 		args[0] = _number;


Commit: 9d10a998ae83f37eafef524cf1b750923f48cfad
    https://github.com/scummvm/scummvm/commit/9d10a998ae83f37eafef524cf1b750923f48cfad
Author: Colin Snover (github.com at zetafleet.com)
Date: 2018-01-31T17:56:33+01:00

Commit Message:
SCUMM: Fix stack overflow initializing locals

This happens when clicking on the triangular button in room 27 in
The Dig.

There are probably several other places where this overflow
happens, since there are several different `int args[16]` in
the code (and many more `int args[` of various sizes, not all of
which are at least NUM_SCRIPT_LOCAL).

Changed paths:
    engines/scumm/actor.cpp


diff --git a/engines/scumm/actor.cpp b/engines/scumm/actor.cpp
index aa94300..66a7d90 100644
--- a/engines/scumm/actor.cpp
+++ b/engines/scumm/actor.cpp
@@ -768,7 +768,7 @@ void Actor::startWalkAnim(int cmd, int angle) {
 	 * work as usual
 	 */
 	if (_walkScript) {
-		int args[16];
+		int args[NUM_SCRIPT_LOCAL];
 		memset(args, 0, sizeof(args));
 		args[0] = _number;
 		args[1] = cmd;





More information about the Scummvm-git-logs mailing list