[Pkg-clamav-commits] [SCM] Debian repository for ClamAV branch, debian/unstable, updated. debian/0.95+dfsg-1-6156-g094ec9b
Török Edvin
edwin at clamav.net
Sun Apr 4 01:27:34 UTC 2010
The following commit has been merged in the debian/unstable branch:
commit dcaa40382628cb07358e31caf78d43a8033e337b
Author: Török Edvin <edwin at clamav.net>
Date: Tue Mar 30 10:42:46 2010 +0300
Fix use-of-uninit memory on zeroinitializer.
diff --git a/libclamav/bytecode.c b/libclamav/bytecode.c
index eed37e7..4a04a24 100644
--- a/libclamav/bytecode.c
+++ b/libclamav/bytecode.c
@@ -811,6 +811,13 @@ static void readConstant(struct cli_bc *bc, unsigned i, unsigned comp,
unsigned len, char *ok)
{
unsigned j=0;
+ if (*ok && buffer[*offset] == 0x40 &&
+ buffer [*offset+1] == 0x60) {
+ /* zero initializer */
+ memset(bc->globals[i], 0, sizeof(*bc->globals[0])*comp);
+ (*offset)+=2;
+ return;
+ }
while (*ok && buffer[*offset] != 0x60) {
if (j >= comp) {
cli_errmsg("bytecode: constant has too many subcomponents, expected %u\n", comp);
@@ -821,8 +828,8 @@ static void readConstant(struct cli_bc *bc, unsigned i, unsigned comp,
bc->globals[i][j++] = readNumber(buffer, offset, len, ok);
}
if (*ok && j != comp) {
- cli_dbgmsg("bytecode: constant has too few subcomponents: %u < %u\n", j, comp);
-/* *ok = 0; */
+ cli_errmsg("bytecode: constant has too few subcomponents: %u < %u\n", j, comp);
+ *ok = 0;
}
(*offset)++;
}
--
Debian repository for ClamAV
More information about the Pkg-clamav-commits
mailing list