diff options
author | Willem Jan Palenstijn | 2009-09-27 13:05:50 +0000 |
---|---|---|
committer | Willem Jan Palenstijn | 2009-09-27 13:05:50 +0000 |
commit | 08e4d96a7d044cca5075b00ee82faa3babaa477a (patch) | |
tree | aaf6f5e8ae5cc6c22a0c155b8d498d60476d552c | |
parent | 77751a04556547fc65f5b7cb7e007644e2f470fc (diff) | |
download | scummvm-rg350-08e4d96a7d044cca5075b00ee82faa3babaa477a.tar.gz scummvm-rg350-08e4d96a7d044cca5075b00ee82faa3babaa477a.tar.bz2 scummvm-rg350-08e4d96a7d044cca5075b00ee82faa3babaa477a.zip |
SCI: clear strcpy's dest string if src is invalid.
This fixes moving the plank at the start of KQ6 in Text mode.
svn-id: r44397
-rw-r--r-- | engines/sci/engine/seg_manager.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/engines/sci/engine/seg_manager.cpp b/engines/sci/engine/seg_manager.cpp index 5d81d8ef35..cb8900ec09 100644 --- a/engines/sci/engine/seg_manager.cpp +++ b/engines/sci/engine/seg_manager.cpp @@ -912,6 +912,10 @@ void SegManager::strncpy(reg_t dest, reg_t src, size_t n) { const SegmentRef src_r = dereference(src); if (!src_r.isValid()) { warning("Attempt to strncpy from invalid pointer %04x:%04x", PRINT_REG(src)); + + // Clear target string instead. + if (n > 0) + strcpy(dest, ""); return; } |