aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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]));