From b0f17579c933a20c106c46f25e9f4a646d19e66d Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Sun, 9 May 2010 18:05:00 +0000 Subject: Patch #2968610: Zak C64 German: crash due to padding bytes svn-id: r48981 --- engines/scumm/file.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'engines') diff --git a/engines/scumm/file.cpp b/engines/scumm/file.cpp index 6b68b5d804..0081720d03 100644 --- a/engines/scumm/file.cpp +++ b/engines/scumm/file.cpp @@ -431,8 +431,12 @@ uint16 ScummDiskImage::extractResource(Common::WriteStream *out, int res) { } for (i = 0; i < _resourcesPerFile[res]; i++) { - uint16 len = fileReadUint16LE(); - reslen += write_word(out, len); + uint16 len; + do { + // Note: len might be 0xFFFF for padding in zak-c64-german + len = fileReadUint16LE(); + reslen += write_word(out, len); + } while (len == 0xFFFF); for (len -= 2; len > 0; len--) reslen += write_byte(out, fileReadByte()); -- cgit v1.2.3