MADS: Avoid potential buffer overflows

This commit is contained in:
Strangerke 2014-08-06 19:06:19 +02:00
parent e8cb2a37bd
commit f24346aad7

View File

@ -408,7 +408,7 @@ char TextView::_resourceName[100];
void TextView::execute(MADSEngine *vm, const Common::String &resName) {
assert(resName.size() < 100);
strcpy(_resourceName, resName.c_str());
strncpy(_resourceName, resName.c_str(), sizeof(_resourceName));
vm->_dialogs->_pendingDialog = DIALOG_TEXTVIEW;
}
@ -460,7 +460,7 @@ void TextView::processLines() {
processCommand();
// Copy rest of line (if any) to start of buffer
strcpy(_currentLine, cEnd + 1);
strncpy(_currentLine, cEnd + 1, sizeof(_currentLine));
cStart = strchr(_currentLine, '[');
}
@ -631,7 +631,7 @@ char AnimationView::_resourceName[100];
void AnimationView::execute(MADSEngine *vm, const Common::String &resName) {
assert(resName.size() < 100);
strcpy(_resourceName, resName.c_str());
strncpy(_resourceName, resName.c_str(), sizeof(_resourceName));
vm->_dialogs->_pendingDialog = DIALOG_ANIMVIEW;
}