[Scummvm-cvs-logs] scummvm master -> e8cb2a37bdecc8c52cd4fa53e8f4612ec5be9d5a

eriktorbjorn eriktorbjorn at telia.com
Wed Aug 6 17:37:07 CEST 2014


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
e8cb2a37bd ZVISION: Silence Cppcheck warnings about buffer overflow


Commit: e8cb2a37bdecc8c52cd4fa53e8f4612ec5be9d5a
    https://github.com/scummvm/scummvm/commit/e8cb2a37bdecc8c52cd4fa53e8f4612ec5be9d5a
Author: Torbjörn Andersson (eriktorbjorn at users.sourceforge.net)
Date: 2014-08-06T17:34:43+02:00

Commit Message:
ZVISION: Silence Cppcheck warnings about buffer overflow

I don't know if it's the buffer sizes or the format strings that
should be fixed, but increasing the buffer size seems like the safer
thing to do in cases of doubt.

Changed paths:
    engines/zvision/scripting/actions.cpp
    engines/zvision/scripting/controls/input_control.cpp



diff --git a/engines/zvision/scripting/actions.cpp b/engines/zvision/scripting/actions.cpp
index e854378..517278e 100644
--- a/engines/zvision/scripting/actions.cpp
+++ b/engines/zvision/scripting/actions.cpp
@@ -155,7 +155,7 @@ bool ActionEnableControl::execute(ZVision *engine) {
 
 ActionMusic::ActionMusic(const Common::String &line) : _volume(255) {
 	uint type;
-	char fileNameBuffer[25];
+	char fileNameBuffer[26];
 	uint loop;
 	uint volume = 255;
 
@@ -211,7 +211,7 @@ bool ActionMusic::execute(ZVision *engine) {
 //////////////////////////////////////////////////////////////////////////////
 
 ActionPreloadAnimation::ActionPreloadAnimation(const Common::String &line) {
-	char fileName[25];
+	char fileName[26];
 
 	// The two %*u are always 0 and dont seem to have a use
 	sscanf(line.c_str(), "%*[^:]:%*[^:]:%u(%25s %*u %*u %u %u)", &_key, fileName, &_mask, &_framerate);
@@ -238,7 +238,7 @@ bool ActionPreloadAnimation::execute(ZVision *engine) {
 //////////////////////////////////////////////////////////////////////////////
 
 ActionPlayAnimation::ActionPlayAnimation(const Common::String &line) {
-	char fileName[25];
+	char fileName[26];
 
 	// The two %*u are always 0 and dont seem to have a use
 	sscanf(line.c_str(),
@@ -312,7 +312,7 @@ bool ActionRandom::execute(ZVision *engine) {
 //////////////////////////////////////////////////////////////////////////////
 
 ActionSetPartialScreen::ActionSetPartialScreen(const Common::String &line) {
-	char fileName[25];
+	char fileName[26];
 	uint color;
 
 	sscanf(line.c_str(), "%*[^(](%u %u %25s %*u %u)", &_x, &_y, fileName, &color);
@@ -342,7 +342,7 @@ bool ActionSetPartialScreen::execute(ZVision *engine) {
 //////////////////////////////////////////////////////////////////////////////
 
 ActionSetScreen::ActionSetScreen(const Common::String &line) {
-	char fileName[25];
+	char fileName[26];
 	sscanf(line.c_str(), "%*[^(](%25[^)])", fileName);
 
 	_fileName = Common::String(fileName);
@@ -360,7 +360,7 @@ bool ActionSetScreen::execute(ZVision *engine) {
 //////////////////////////////////////////////////////////////////////////////
 
 ActionStreamVideo::ActionStreamVideo(const Common::String &line) {
-	char fileName[25];
+	char fileName[26];
 	uint skippable;
 
 	sscanf(line.c_str(), "%*[^(](%25s %u %u %u %u %u %u)", fileName, &_x1, &_y1, &_x2, &_y2, &_flags, &skippable);
diff --git a/engines/zvision/scripting/controls/input_control.cpp b/engines/zvision/scripting/controls/input_control.cpp
index 5cf5086..a35548d 100644
--- a/engines/zvision/scripting/controls/input_control.cpp
+++ b/engines/zvision/scripting/controls/input_control.cpp
@@ -75,7 +75,7 @@ InputControl::InputControl(ZVision *engine, uint32 key, Common::SeekableReadStre
 		} else if (line.matchString("*next_tabstop*", true)) {
 			sscanf(line.c_str(), "%*[^(](%u)", &_nextTabstop);
 		} else if (line.matchString("*cursor_animation*", true)) {
-			char fileName[25];
+			char fileName[26];
 
 			sscanf(line.c_str(), "%*[^(](%25s %*u)", fileName);
 






More information about the Scummvm-git-logs mailing list