aboutsummaryrefslogtreecommitdiff
path: root/scumm/bundle.cpp
diff options
context:
space:
mode:
authorPaweł Kołodziejski2003-03-08 18:51:07 +0000
committerPaweł Kołodziejski2003-03-08 18:51:07 +0000
commit734d749602aad816cb43efa2f33093a0ca0770e1 (patch)
treed6095b165f2bf5f30708d3746f720ba6dbcb5315 /scumm/bundle.cpp
parent4a5ffdd9a644937f93b704c1fcd0aa8135196dca (diff)
downloadscummvm-rg350-734d749602aad816cb43efa2f33093a0ca0770e1.tar.gz
scummvm-rg350-734d749602aad816cb43efa2f33093a0ca0770e1.tar.bz2
scummvm-rg350-734d749602aad816cb43efa2f33093a0ca0770e1.zip
hack for comi bundle codec, i hope it fix valgrid warnings
svn-id: r6777
Diffstat (limited to 'scumm/bundle.cpp')
-rw-r--r--scumm/bundle.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/scumm/bundle.cpp b/scumm/bundle.cpp
index bf0ad8ec4b..fa6bff9d51 100644
--- a/scumm/bundle.cpp
+++ b/scumm/bundle.cpp
@@ -276,7 +276,9 @@ int32 Bundle::decompressVoiceSampleByIndex(int32 index, byte **comp_final) {
*comp_final = (byte *)malloc(0x2000 * num);
for (i = 0; i < num; i++) {
- comp_input = (byte *)malloc(_compVoiceTable[i].size);
+ // CMI hack: one more zero byte at the end of input buffer
+ comp_input = (byte *)malloc(_compVoiceTable[i].size + 1);
+ comp_input[_compVoiceTable[i].size] = 0;
_voiceFile.seek(_bundleVoiceTable[index].offset + _compVoiceTable[i].offset, SEEK_SET);
_voiceFile.read(comp_input, _compVoiceTable[i].size);
@@ -329,7 +331,9 @@ int32 Bundle::decompressMusicSampleByIndex(int32 index, int32 number, byte *comp
_lastSong = index;
}
- comp_input = (byte *)malloc(_compMusicTable[number].size);
+ // CMI hack: one more zero byte at the end of input buffer
+ comp_input = (byte *)malloc(_compMusicTable[number].size + 1);
+ comp_input[_compMusicTable[number].size] = 0;
_musicFile.seek(_bundleMusicTable[index].offset + _compMusicTable[number].offset, SEEK_SET);
_musicFile.read(comp_input, _compMusicTable[number].size);