diff options
-rw-r--r-- | engines/sci/engine/seg_manager.cpp | 7 | ||||
-rw-r--r-- | engines/sci/engine/seg_manager.h | 3 |
2 files changed, 3 insertions, 7 deletions
diff --git a/engines/sci/engine/seg_manager.cpp b/engines/sci/engine/seg_manager.cpp index 35a655fb4c..159d3170f8 100644 --- a/engines/sci/engine/seg_manager.cpp +++ b/engines/sci/engine/seg_manager.cpp @@ -796,7 +796,7 @@ size_t SegManager::strlen(reg_t str) { } -Common::String SegManager::getString(reg_t pointer, int entries) { +Common::String SegManager::getString(reg_t pointer) { Common::String ret; if (pointer.isNull()) return ret; // empty text @@ -806,10 +806,7 @@ Common::String SegManager::getString(reg_t pointer, int entries) { warning("SegManager::getString(): Attempt to dereference invalid pointer %04x:%04x", PRINT_REG(pointer)); return ret; } - if (entries > src_r.maxSize) { - warning("Trying to dereference pointer %04x:%04x beyond end of segment", PRINT_REG(pointer)); - return ret; - } + if (src_r.isRaw) ret = (char *)src_r.raw; else { diff --git a/engines/sci/engine/seg_manager.h b/engines/sci/engine/seg_manager.h index c409744711..e3ccb9ae5f 100644 --- a/engines/sci/engine/seg_manager.h +++ b/engines/sci/engine/seg_manager.h @@ -304,11 +304,10 @@ public: * Return the string referenced by pointer. * pointer can point to either a raw or non-raw segment. * @param pointer The pointer to dereference - * @parm entries The number of values expected (for checking) * @return The string referenced, or an empty string if not enough * entries were available. */ - Common::String getString(reg_t pointer, int entries = 0); + Common::String getString(reg_t pointer); /** |