diff options
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | video/smk_decoder.cpp | 4 |
2 files changed, 3 insertions, 2 deletions
@@ -22,6 +22,7 @@ For a more comprehensive changelog of the latest experimental code, see: change it at all. - Updated MT-32 emulation code to latest munt project snapshot. - Added FluidSynth settings dialog, mainly for reverb and chorus settings. + - Fixed crash on certain Smacker movies. Cine: - Improved audio support for Amiga and AtariST versions of Future Wars. diff --git a/video/smk_decoder.cpp b/video/smk_decoder.cpp index c49791100d..4e18268e72 100644 --- a/video/smk_decoder.cpp +++ b/video/smk_decoder.cpp @@ -119,7 +119,7 @@ uint16 SmallHuffmanTree::decodeTree(uint32 prefix, int length) { } uint16 SmallHuffmanTree::getCode(Common::BitStream &bs) { - byte peek = bs.peekBits(8); + byte peek = bs.peekBits(MIN<uint32>(bs.size() - bs.pos(), 8)); uint16 *p = &_tree[_prefixtree[peek]]; bs.skip(_prefixlength[peek]); @@ -257,7 +257,7 @@ uint32 BigHuffmanTree::decodeTree(uint32 prefix, int length) { } uint32 BigHuffmanTree::getCode(Common::BitStream &bs) { - byte peek = bs.peekBits(8); + byte peek = bs.peekBits(MIN<uint32>(bs.size() - bs.pos(), 8)); uint32 *p = &_tree[_prefixtree[peek]]; bs.skip(_prefixlength[peek]); |