[Scummvm-cvs-logs] CVS: tools compress_san.cpp,1.38,1.39 compress_scumm_bun.cpp,1.21,1.22
Pawel Kolodziejski
aquadran at users.sourceforge.net
Sat Feb 12 05:15:03 CET 2005
Update of /cvsroot/scummvm/tools
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16729
Modified Files:
compress_san.cpp compress_scumm_bun.cpp
Log Message:
fixed 1 byte memory over write
Index: compress_san.cpp
===================================================================
RCS file: /cvsroot/scummvm/tools/compress_san.cpp,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -d -r1.38 -r1.39
--- compress_san.cpp 28 Jan 2005 18:19:12 -0000 1.38
+++ compress_san.cpp 12 Feb 2005 13:13:59 -0000 1.39
@@ -177,7 +177,7 @@
}
_waveDataSize = 0;
}
- for (unsigned int j = 0; j < size; j += 2) {
+ for (unsigned int j = 0; j < size - 1; j += 2) {
byte tmp = output_data[j + 0];
output_data[j + 0] = output_data[j + 1];
output_data[j + 1] = tmp;
Index: compress_scumm_bun.cpp
===================================================================
RCS file: /cvsroot/scummvm/tools/compress_scumm_bun.cpp,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -d -r1.21 -r1.22
--- compress_scumm_bun.cpp 30 Jan 2005 21:19:45 -0000 1.21
+++ compress_scumm_bun.cpp 12 Feb 2005 13:13:59 -0000 1.22
@@ -764,7 +764,7 @@
}
_waveDataSize = 0;
}
- for (unsigned int j = 0; j < size; j += 2) {
+ for (unsigned int j = 0; j < size - 1; j += 2) {
byte tmp = output_data[j + 0];
output_data[j + 0] = output_data[j + 1];
output_data[j + 1] = tmp;
@@ -815,6 +815,7 @@
assert(outputSize <= 0x2000);
memcpy(compFinal + finalSize, compOutput, outputSize);
finalSize += outputSize;
+ assert(finalSize <= numCompItems * 0x2000);
}
free(compInput);
@@ -933,7 +934,6 @@
sprintf(tmpPath, "%s/%s_reg%03d.wav", dir, filename, l);
writeToTempWave(tmpPath, outputData, outputSize);
writeWaveHeader(_waveDataSize, freq, channels);
-
free(outputData);
sprintf(tmpPath, "%s/%s_reg%03d", dir, filename, l);
if (_oggMode)
More information about the Scummvm-git-logs
mailing list