[Pkg-clamav-commits] [SCM] Debian repository for ClamAV branch, debian/unstable, updated. debian/0.95+dfsg-1-6633-g2c817b2
Michael Tautschnig
mt at debian.org
Tue Jan 18 23:26:37 UTC 2011
The following commit has been merged in the debian/unstable branch:
commit 4cb2cd4da7e5efed25fa264b420ea495d7c2654b
Author: Michael Tautschnig <mt at debian.org>
Date: Tue Jan 18 21:46:06 2011 +0000
Fix paranoid mode crash (bb #2434).
Only occurs if Paranoid mode is set in clamd.conf, or unsigned and signed
bytecode are loaded together in --enable-unsigned-bytecode mode.
Conflicts:
ChangeLog
Signed-off-by: Michael Tautschnig <mt at debian.org>
diff --git a/libclamav/c++/ClamBCRTChecks.cpp b/libclamav/c++/ClamBCRTChecks.cpp
index d3def6a..a74476c 100644
--- a/libclamav/c++/ClamBCRTChecks.cpp
+++ b/libclamav/c++/ClamBCRTChecks.cpp
@@ -117,8 +117,16 @@ namespace {
std::vector<Instruction*> insns;
+ BasicBlock *LastBB = 0;
+ bool skip = false;
for (inst_iterator I=inst_begin(F),E=inst_end(F); I != E;++I) {
Instruction *II = &*I;
+ if (II->getParent() != LastBB) {
+ LastBB = II->getParent();
+ skip = DT->getNode(LastBB) == 0;
+ }
+ if (skip)
+ continue;
if (isa<LoadInst>(II) || isa<StoreInst>(II) || isa<MemIntrinsic>(II))
insns.push_back(II);
if (CallInst *CI = dyn_cast<CallInst>(II)) {
--
Debian repository for ClamAV
More information about the Pkg-clamav-commits
mailing list