aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/kstring.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2009-10-18 10:39:10 +0000
committerFilippos Karapetis2009-10-18 10:39:10 +0000
commit6d5f1e4403217e143cc93d80ac96a40faf8bbae5 (patch)
tree94484508e9be14c8e00ea4c46518ef5fe2b40a83 /engines/sci/engine/kstring.cpp
parentc7e5c9f0edf9c59674152f71fc8143742e0964b7 (diff)
downloadscummvm-rg350-6d5f1e4403217e143cc93d80ac96a40faf8bbae5.tar.gz
scummvm-rg350-6d5f1e4403217e143cc93d80ac96a40faf8bbae5.tar.bz2
scummvm-rg350-6d5f1e4403217e143cc93d80ac96a40faf8bbae5.zip
Added a sanity check in kStrAt()
svn-id: r45213
Diffstat (limited to 'engines/sci/engine/kstring.cpp')
-rw-r--r--engines/sci/engine/kstring.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/engines/sci/engine/kstring.cpp b/engines/sci/engine/kstring.cpp
index 2681ced5da..b31cd4018b 100644
--- a/engines/sci/engine/kstring.cpp
+++ b/engines/sci/engine/kstring.cpp
@@ -292,6 +292,11 @@ reg_t kStrCpy(EngineState *s, int argc, reg_t *argv) {
reg_t kStrAt(EngineState *s, int argc, reg_t *argv) {
+ if (argv[0] == SIGNAL_REG) {
+ warning("Attempt to perform kStrAt() on a signal reg");
+ return NULL_REG;
+ }
+
SegmentRef dest_r = s->_segMan->dereference(argv[0]);
if (!dest_r.raw) {
warning("Attempt to StrAt at invalid pointer %04x:%04x", PRINT_REG(argv[0]));