[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:20:27 UTC 2010


The following commit has been merged in the debian/unstable branch:
commit 1e30496d2a96674e5963dc392d8c6fc2e61f30c5
Author: Török Edvin <edwin at clamav.net>
Date:   Mon Feb 15 12:41:53 2010 +0200

    runtime checks verifier.

diff --git a/libclamav/c++/GenList.pl b/libclamav/c++/GenList.pl
index 9c24f23..794f2a9 100755
--- a/libclamav/c++/GenList.pl
+++ b/libclamav/c++/GenList.pl
@@ -9,7 +9,7 @@ my %compdeps;
 my @codegencomponents = ('x86codegen','powerpccodegen','armcodegen');
 my @allnonsys = ('support','jit','fullcodegen', at codegencomponents);
 my @allcomponents= ('system', at allnonsys);
-my $allJIT="jit core lib/Support/SourceMgr.o";
+my $allJIT="jit core lib/Support/SourceMgr.o lib/Analysis/PointerTracking.o";
 for my $component (@allcomponents) {
     $/ = " ";
     $component =~ s/^fullcodegen/codegen interpreter jit target/;
diff --git a/libclamav/c++/Makefile.am b/libclamav/c++/Makefile.am
index ac7b4ca..95c0d0a 100644
--- a/libclamav/c++/Makefile.am
+++ b/libclamav/c++/Makefile.am
@@ -44,7 +44,7 @@ libclamavcxx_la_LIBADD=libllvmjit.la
 libclamavcxx_la_DEPENDENCIES=libllvmjit.la libllvmcodegen.la libllvmsystem.la
 libclamavcxx_la_LDFLAGS=-no-undefined
 libclamavcxx_la_CXXFLAGS = $(LLVM_CXXFLAGS)
-libclamavcxx_la_SOURCES = bytecode2llvm.cpp
+libclamavcxx_la_SOURCES = bytecode2llvm.cpp ClamBCRTChecks.cpp
 if BUILD_X86
 libclamavcxx_la_LIBADD+=libllvmx86codegen.la
 libclamavcxx_la_DEPENDENCIES+=libllvmx86codegen.la
@@ -441,6 +441,7 @@ libllvmjit_la_SOURCES=\
 	llvm/lib/Analysis/CaptureTracking.cpp\
 	llvm/lib/Analysis/DebugInfo.cpp\
 	llvm/lib/Analysis/MemoryBuiltins.cpp\
+	llvm/lib/Analysis/PointerTracking.cpp\
 	llvm/lib/Analysis/ValueTracking.cpp\
 	llvm/lib/CodeGen/ELFCodeEmitter.cpp\
 	llvm/lib/CodeGen/ELFWriter.cpp\
diff --git a/libclamav/c++/Makefile.in b/libclamav/c++/Makefile.in
index 135a797..9896a01 100644
--- a/libclamav/c++/Makefile.in
+++ b/libclamav/c++/Makefile.in
@@ -106,7 +106,8 @@ CONFIG_HEADER = clamavcxx-config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 LTLIBRARIES = $(noinst_LTLIBRARIES)
-am_libclamavcxx_la_OBJECTS = libclamavcxx_la-bytecode2llvm.lo
+am_libclamavcxx_la_OBJECTS = libclamavcxx_la-bytecode2llvm.lo \
+	libclamavcxx_la-ClamBCRTChecks.lo
 libclamavcxx_la_OBJECTS = $(am_libclamavcxx_la_OBJECTS)
 AM_V_lt = $(am__v_lt_$(V))
 am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
@@ -279,8 +280,8 @@ libllvminterpreter_la_OBJECTS = $(am_libllvminterpreter_la_OBJECTS)
 libllvmjit_la_LIBADD =
 am_libllvmjit_la_OBJECTS = AliasAnalysis.lo BasicAliasAnalysis.lo \
 	CaptureTracking.lo DebugInfo.lo MemoryBuiltins.lo \
-	ValueTracking.lo ELFCodeEmitter.lo ELFWriter.lo \
-	MachineBasicBlock.lo MachineFunction.lo \
+	PointerTracking.lo ValueTracking.lo ELFCodeEmitter.lo \
+	ELFWriter.lo MachineBasicBlock.lo MachineFunction.lo \
 	MachineFunctionAnalysis.lo MachineFunctionPass.lo \
 	MachineInstr.lo MachineModuleInfo.lo MachineRegisterInfo.lo \
 	ObjectCodeEmitter.lo PseudoSourceValue.lo \
@@ -929,7 +930,7 @@ libclamavcxx_la_DEPENDENCIES = libllvmjit.la libllvmcodegen.la \
 	$(am__append_10)
 libclamavcxx_la_LDFLAGS = -no-undefined
 libclamavcxx_la_CXXFLAGS = $(LLVM_CXXFLAGS)
-libclamavcxx_la_SOURCES = bytecode2llvm.cpp
+libclamavcxx_la_SOURCES = bytecode2llvm.cpp ClamBCRTChecks.cpp
 LLVM_CXXFLAGS = -Woverloaded-virtual -pedantic -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings -Wno-missing-field-initializers -Wno-variadic-macros
 TBLGENFILES = llvm/include/llvm/Intrinsics.gen X86GenRegisterInfo.h.inc X86GenRegisterNames.inc X86GenRegisterInfo.inc X86GenInstrNames.inc X86GenInstrInfo.inc\
     X86GenAsmWriter.inc X86GenAsmWriter1.inc X86GenAsmMatcher.inc X86GenDAGISel.inc X86GenFastISel.inc X86GenCallingConv.inc\
@@ -1186,6 +1187,7 @@ libllvmjit_la_SOURCES = \
 	llvm/lib/Analysis/CaptureTracking.cpp\
 	llvm/lib/Analysis/DebugInfo.cpp\
 	llvm/lib/Analysis/MemoryBuiltins.cpp\
+	llvm/lib/Analysis/PointerTracking.cpp\
 	llvm/lib/Analysis/ValueTracking.cpp\
 	llvm/lib/CodeGen/ELFCodeEmitter.cpp\
 	llvm/lib/CodeGen/ELFWriter.cpp\
@@ -1900,6 +1902,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Passes.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Path.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/PluginLoader.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/PointerTracking.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/PostRASchedulerList.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/PreAllocSplitting.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/PrettyStackTrace.Plo at am__quote@
@@ -1994,6 +1997,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/VirtRegRewriter.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/circular_raw_ostream.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/count-count.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libclamavcxx_la-ClamBCRTChecks.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libclamavcxx_la-bytecode2llvm.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libgoogletest_la-TestMain.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libgoogletest_la-gtest-death-test.Plo at am__quote@
@@ -2400,6 +2404,14 @@ libclamavcxx_la-bytecode2llvm.lo: bytecode2llvm.cpp
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libclamavcxx_la_CXXFLAGS) $(CXXFLAGS) -c -o libclamavcxx_la-bytecode2llvm.lo `test -f 'bytecode2llvm.cpp' || echo '$(srcdir)/'`bytecode2llvm.cpp
 
+libclamavcxx_la-ClamBCRTChecks.lo: ClamBCRTChecks.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libclamavcxx_la_CXXFLAGS) $(CXXFLAGS) -MT libclamavcxx_la-ClamBCRTChecks.lo -MD -MP -MF $(DEPDIR)/libclamavcxx_la-ClamBCRTChecks.Tpo -c -o libclamavcxx_la-ClamBCRTChecks.lo `test -f 'ClamBCRTChecks.cpp' || echo '$(srcdir)/'`ClamBCRTChecks.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libclamavcxx_la-ClamBCRTChecks.Tpo $(DEPDIR)/libclamavcxx_la-ClamBCRTChecks.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ClamBCRTChecks.cpp' object='libclamavcxx_la-ClamBCRTChecks.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libclamavcxx_la_CXXFLAGS) $(CXXFLAGS) -c -o libclamavcxx_la-ClamBCRTChecks.lo `test -f 'ClamBCRTChecks.cpp' || echo '$(srcdir)/'`ClamBCRTChecks.cpp
+
 libgoogletest_la-gtest-death-test.lo: llvm/utils/unittest/googletest/gtest-death-test.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgoogletest_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libgoogletest_la-gtest-death-test.lo -MD -MP -MF $(DEPDIR)/libgoogletest_la-gtest-death-test.Tpo -c -o libgoogletest_la-gtest-death-test.lo `test -f 'llvm/utils/unittest/googletest/gtest-death-test.cc' || echo '$(srcdir)/'`llvm/utils/unittest/googletest/gtest-death-test.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgoogletest_la-gtest-death-test.Tpo $(DEPDIR)/libgoogletest_la-gtest-death-test.Plo
@@ -3936,6 +3948,14 @@ MemoryBuiltins.lo: llvm/lib/Analysis/MemoryBuiltins.cpp
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o MemoryBuiltins.lo `test -f 'llvm/lib/Analysis/MemoryBuiltins.cpp' || echo '$(srcdir)/'`llvm/lib/Analysis/MemoryBuiltins.cpp
 
+PointerTracking.lo: llvm/lib/Analysis/PointerTracking.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT PointerTracking.lo -MD -MP -MF $(DEPDIR)/PointerTracking.Tpo -c -o PointerTracking.lo `test -f 'llvm/lib/Analysis/PointerTracking.cpp' || echo '$(srcdir)/'`llvm/lib/Analysis/PointerTracking.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/PointerTracking.Tpo $(DEPDIR)/PointerTracking.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='llvm/lib/Analysis/PointerTracking.cpp' object='PointerTracking.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o PointerTracking.lo `test -f 'llvm/lib/Analysis/PointerTracking.cpp' || echo '$(srcdir)/'`llvm/lib/Analysis/PointerTracking.cpp
+
 ValueTracking.lo: llvm/lib/Analysis/ValueTracking.cpp
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ValueTracking.lo -MD -MP -MF $(DEPDIR)/ValueTracking.Tpo -c -o ValueTracking.lo `test -f 'llvm/lib/Analysis/ValueTracking.cpp' || echo '$(srcdir)/'`llvm/lib/Analysis/ValueTracking.cpp
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ValueTracking.Tpo $(DEPDIR)/ValueTracking.Plo
diff --git a/libclamav/c++/bytecode2llvm.cpp b/libclamav/c++/bytecode2llvm.cpp
index afdc28a..ced93d4 100644
--- a/libclamav/c++/bytecode2llvm.cpp
+++ b/libclamav/c++/bytecode2llvm.cpp
@@ -20,6 +20,7 @@
  *  MA 02110-1301, USA.
  */
 #define DEBUG_TYPE "clamavjit"
+#include "ClamBCModule.h"
 #include "llvm/ADT/DenseMap.h"
 #include "llvm/ADT/BitVector.h"
 #include "llvm/ADT/StringMap.h"
@@ -190,6 +191,7 @@ static void* noUnknownFunctions(const std::string& name) {
 	.Case("memmove", (void*)(intptr_t)memmove)
 	.Case("memcpy", (void*)(intptr_t)memcpy)
 	.Case("memset", (void*)(intptr_t)memset)
+	.Case("abort", (void*)(intptr_t)jit_exception_handler)
 	.Default(0);
     if (addr)
 	return addr;
@@ -649,6 +651,8 @@ public:
 	}
 	const Type *I32Ty = Type::getInt32Ty(Context);
 	const Type *I64Ty = Type::getInt64Ty(Context);
+	if (!bc->trusted)
+	    PM.add(createClamBCRTChecks());
 	for (unsigned j=0;j<bc->num_func;j++) {
 	    PrettyStackTraceString CrashInfo("Generate LLVM IR");
 	    const struct cli_bc_func *func = &bc->funcs[j];
@@ -751,6 +755,7 @@ public:
 			case OP_BC_STORE:
 			case OP_BC_COPY:
 			case OP_BC_RET:
+			case OP_BC_PTRDIFF32:
 			    // these instructions represents operands differently
 			    break;
 			default:
@@ -951,8 +956,8 @@ public:
 			{
 			    const Type *SrcTy = mapType(inst->u.three[0]);
 			    Value *V = convertOperand(func, SrcTy, inst->u.three[1]);
-			    Value *Op = convertOperand(func, I64Ty, inst->u.three[2]);
-			    Op = Builder.CreateTrunc(Op, I32Ty);
+			    Value *Op = convertOperand(func, I32Ty, inst->u.three[2]);
+//			    Op = Builder.CreateTrunc(Op, I32Ty);
 			    if (!createGEP(inst->dest, V, &Op, &Op+1))
 				return false;
 			    break;
@@ -963,8 +968,8 @@ public:
 			    Ops[0] = ConstantInt::get(Type::getInt32Ty(Context), 0);
 			    const Type *SrcTy = mapType(inst->u.three[0]);
 			    Value *V = convertOperand(func, SrcTy, inst->u.three[1]);
-			    Ops[1] = convertOperand(func, I64Ty, inst->u.three[2]);
-			    Ops[1] = Builder.CreateTrunc(Ops[1], I32Ty);
+			    Ops[1] = convertOperand(func, I32Ty, inst->u.three[2]);
+//			    Ops[1] = Builder.CreateTrunc(Ops[1], I32Ty);
 			    if (!createGEP(inst->dest, V, Ops, Ops+2))
 				return false;
 			    break;
@@ -976,8 +981,8 @@ public:
 			    const Type *SrcTy = mapType(inst->u.ops.ops[0]);
 			    Value *V = convertOperand(func, SrcTy, inst->u.ops.ops[1]);
 			    for (unsigned a=2;a<inst->u.ops.numOps;a++) {
-				Value *Op = convertOperand(func, I64Ty, inst->u.ops.ops[a]);
-				Op = Builder.CreateTrunc(Op, I32Ty);
+				Value *Op = convertOperand(func, I32Ty, inst->u.ops.ops[a]);
+//				Op = Builder.CreateTrunc(Op, I32Ty);
 				Idxs.push_back(Op);
 			    }
 			    if (!createGEP(inst->dest, V, Idxs.begin(), Idxs.end()))
@@ -1114,7 +1119,6 @@ public:
 	    delete [] Values;
 	    delete [] BB;
 	}
-
 	DEBUG(M->dump());
 	delete TypeMap;
 	std::vector<const Type*> args;
@@ -1154,9 +1158,6 @@ public:
 		}
 	  }
 	}
-	if (!bc->trusted) {
-	    //TODO: call verifier to insert runtime checks
-	}
 	delete [] Functions;
 	return true;
     }
diff --git a/libclamav/c++/llvm/include/llvm/Analysis/PointerTracking.h b/libclamav/c++/llvm/include/llvm/Analysis/PointerTracking.h
index a14bbf0..4d282b1 100644
--- a/libclamav/c++/llvm/include/llvm/Analysis/PointerTracking.h
+++ b/libclamav/c++/llvm/include/llvm/Analysis/PointerTracking.h
@@ -98,6 +98,7 @@ namespace llvm {
     virtual bool runOnFunction(Function &F);
     virtual void getAnalysisUsage(AnalysisUsage &AU) const;
     void print(raw_ostream &OS, const Module* = 0) const;
+    Value *computeAllocationCountValue(Value *P, const Type *&Ty) const;
   private:
     Function *FF;
     TargetData *TD;
diff --git a/libclamav/c++/llvm/lib/Analysis/PointerTracking.cpp b/libclamav/c++/llvm/lib/Analysis/PointerTracking.cpp
index 8da07e7..58e90b3 100644
--- a/libclamav/c++/llvm/lib/Analysis/PointerTracking.cpp
+++ b/libclamav/c++/llvm/lib/Analysis/PointerTracking.cpp
@@ -263,5 +263,53 @@ void PointerTracking::print(raw_ostream &OS, const Module* M) const {
   }
 }
 
+Value *PointerTracking::computeAllocationCountValue(Value *P, const Type *&Ty) const 
+{
+  Value *V = P->stripPointerCasts();
+  if (AllocaInst *AI = dyn_cast<AllocaInst>(V)) {
+    Ty = AI->getAllocatedType();
+    // arraySize elements of type Ty.
+    return AI->getArraySize();
+  }
+
+  if (CallInst *CI = extractMallocCall(V)) {
+    Ty = getMallocAllocatedType(CI);
+    if (!Ty)
+      return 0;
+    Value *arraySize = getMallocArraySize(CI, TD);
+    if (!arraySize) {
+      Ty = Type::getInt8Ty(P->getContext());
+      return CI->getOperand(1);
+    }
+    // arraySize elements of type Ty.
+    return arraySize;
+  }
+
+  if (GlobalVariable *GV = dyn_cast<GlobalVariable>(V)) {
+    if (GV->hasDefinitiveInitializer()) {
+      Constant *C = GV->getInitializer();
+      if (const ArrayType *ATy = dyn_cast<ArrayType>(C->getType())) {
+        Ty = ATy->getElementType();
+        return ConstantInt::get(Type::getInt32Ty(P->getContext()),
+                               ATy->getNumElements());
+      }
+    }
+    Ty = cast<PointerType>(GV->getType())->getElementType();
+    return ConstantInt::get(Type::getInt32Ty(P->getContext()), 1);
+    //TODO: implement more tracking for globals
+  }
+
+  if (CallInst *CI = dyn_cast<CallInst>(V)) {
+    CallSite CS(CI);
+    Function *F = dyn_cast<Function>(CS.getCalledValue()->stripPointerCasts());
+    if (F == reallocFunc) {
+      Ty = Type::getInt8Ty(P->getContext());
+      // realloc allocates arg1 bytes.
+      return CS.getArgument(1);
+    }
+  }
+
+  return 0;
+}
 static RegisterPass<PointerTracking> X("pointertracking",
                                        "Track pointer bounds", false, true);
diff --git a/unit_tests/input/apicalls.cbc b/unit_tests/input/apicalls.cbc
index db4a172..46e8a04 100644
--- a/unit_tests/input/apicalls.cbc
+++ b/unit_tests/input/apicalls.cbc
@@ -1,4 +1,4 @@
-ClamBCafhf`olfgkd|afefdfggifnf```````|bgacflfafmfbfcfmb`cnb`cacmbicmbgfafeficfcgcecff``agafp`clamcoincidencejb:82
+ClamBCafhdndbigkd|afefdfggifnf```````|bhacflfafmfbfcfmb`cnb`cacmbacdcmbgfafdfccacacbfgc``agafp`clamcoincidencejb:82
 
 Tedaaa`aacb`bb`bb`b
 Eaaaaaabfd|afdgefcgdgac``
diff --git a/unit_tests/input/apicalls2.cbc b/unit_tests/input/apicalls2.cbc
index 77fb2e2..ace3518 100644
--- a/unit_tests/input/apicalls2.cbc
+++ b/unit_tests/input/apicalls2.cbc
@@ -1,4 +1,4 @@
-ClamBCafhf`olfgkd|afefdfggifnf```````|bgacflfafmfbfcfmb`cnb`cacmbicmbgfafeficfcgcecff``ahafp`clamcoincidencejb:66
+ClamBCafhdndbigkd|afefdfggifnf```````|bhacflfafmfbfcfmb`cnb`cacmbacdcmbgfafdfccacacbfgc``ahafp`clamcoincidencejb:66
 
 Tedaaa`aabb`bb`baacb`bb`bb`b
 Ebcaabbcabfd|afdgefcgdgbc``aabgd|afdgefcgdgac``
diff --git a/unit_tests/input/arith.cbc b/unit_tests/input/arith.cbc
index 04562f4..4f53150 100644
--- a/unit_tests/input/arith.cbc
+++ b/unit_tests/input/arith.cbc
@@ -1,4 +1,4 @@
-ClamBCafhf`olfgkd|afefdfggifnf```````|bgacflfafmfbfcfmb`cnb`cacmbicmbgfafeficfcgcecff``afbbep`clamcoincidencejb:418
+ClamBCafhdndbigkd|afefdfggifnf```````|bhacflfafmfbfcfmb`cnb`cacmbacdcmbgfafdfccacacbfgc``afbbep`clamcoincidencejb:418
 
 Tedaaa`
 E``
diff --git a/unit_tests/input/div0.cbc b/unit_tests/input/div0.cbc
index ed86716..c76e410 100644
--- a/unit_tests/input/div0.cbc
+++ b/unit_tests/input/div0.cbc
@@ -1,4 +1,4 @@
-ClamBCafhf`olfgkd|afefdfggifnf```````|bgacflfafmfbfcfmb`cnb`cacmbicmbgfafeficfcgcecff``afabp`clamcoincidencejb:23
+ClamBCafhdndbigkd|afefdfggifnf```````|bhacflfafmfbfcfmb`cnb`cacmbacdcmbgfafdfccacacbfgc``afabp`clamcoincidencejb:23
 
 Tedaaa`
 E``
diff --git a/unit_tests/input/lsig.cbc b/unit_tests/input/lsig.cbc
index e0e0cdb..bc2fe60 100644
--- a/unit_tests/input/lsig.cbc
+++ b/unit_tests/input/lsig.cbc
@@ -1,14 +1,14 @@
-ClamBCafhf`olfgkd|afefdfggifnf```c``a```|bgacflfafmfbfcfmb`cnb`cacmbicmbgfafeficfcgcecff``bhaabp`clamcoincidencejb:313
+ClamBCafhdndbigkd|afefdfggifnf```c``a```|bhacflfafmfbfcfmb`cnb`cacmbacdcmbgfafdfccacacbfgc``bhaabp`clamcoincidencejb:309
 Test.{A,B};Target:1;(((0|1|2)=42,2)|(3=10));EP+0:aabb;ffff;aaccee;f00d;dead
 Tedebgeebfeebeeebdeebceebbeeb`eebadebcdaaa`aacb`bbadb`bcajahbaeahbaeahbaeahbaeahbaecaab`bdb`db`bdagahdajahdabbaddabahdaeah
 Eaeaaaebod|amcgefdgfgifbgegcgnfafmfef``
-Gd```hbka`@`bgeBdeBefBcgBdg@`bfeBad@`bfeBbd@`bee at Ab@Ac`b`aAa`bdeBedB`eBkbB`cBjcBafBafBbfBbf@`bgeBffBffBffBff@`bgeBffB`cB`cBdf@`bceBafBafBcfBcfBefBef@`bgeBdfBefBafBdf@`b`aC``a`b`e@@@Aa at Ac@Ab at Ad`bad at Ab`bad at Ab`bad at Ac`bad at Ac`bad at Af`bad at Ag`bad at Ah`bad at Ai`bad at Aj`bcdB`aD```h`bcdAlD```h`bcdAhD```h`bcdAdD```h`bcd at D```h`
+Gd```hbja`@`bgeBdeBefBcgBdg@`bfeBad@`bfeBbd@`bee at Ab@Ac`b`aAa`bdeBedB`eBkbB`cBjcBafBafBbfBbf@`bgeBffBffBffBff@`bgeBffB`cB`cBdf@`bceBafBafBcfBcfBefBef@`bgeBdfBefBafBdf@`b`aC``a`b`e@@@Aa at Ac@Ab at Ad`bad at Ab`bad at Ac`bad at Af`bad at Ag`bad at Ah`bad at Ai`bad at Aj`bad at D```h`bcdB`aD```h`bcdAlD```h`bcdAhD```h`bcdAdD```h`bcd at D```h`
 A`b`bLaeb`b`aa`aa`bad`b`b`Fahac
-Bb`b`gbBfa`aaaagab`b`AadTaaaaaaab
-Baaabeab`b`AbdbadacoaabAn`B`a`b`badabbaeac at dTcab`b at d
+Bb`b`gbBea`aaaagab`b`AadTaaaaaaab
+Baaabeab`b`AbdbadacoaabAm`An`b`badabbaeac at dTcab`b at d
 BTcab`b at dE
 A`aaLbcab`b`b`b`b`b`b`b`b`b`aa`aa`aa`aa`b`b`b`b`b`b`b`b`b`b`aa`aa`b`b`aa`aa`Fbdaaa
-Bb`b`gbBja`b`baagbBia`b`babgbBha`b`baca`aa`b`bada`acabaaaeeab`badBjbdaaaffab`bab at daaagfab`baa at daaahfab`b`@db`bai`aafb`baj`aagb`bak`aahb`bala`ajakb`bama`alaiaaaneab`bamAbdaaaok`anaeb`bb`agbBga`aabaaeab`bb`aAjdaabbal`aobaaTcaaabbaE
+Bb`b`gbBia`b`baagbBha`b`babgbBga`b`baca`aa`b`bada`acabaaaeeab`badBjbdaaaffab`bab at daaagfab`baa at daaahfab`b`@db`bai`aafb`baj`aagb`bak`aahb`bala`ajakb`bama`alaiaaaneab`bamAbdaaaok`anaeb`bb`agbBfa`aabaaeab`bb`aAjdaabbal`aobaaTcaaabbaE
 Sobjb`bieofeg`bafbgef`bofnflfig`baflflfofggefdf`bdgof`bcgefdg`bdghfefcgef`bfgifbgegcgnfafmfefcg`bafcg`bffofegnfdf`bjbobSfeidbeeecendadmdedoe`ebeedfdidhehbbbdeefcgdgbbib
 feidbeeecendadmdedcehbbbadbblb`bbbbdbbibSdeadbegdeddehbacibSceidgdndaddeeebeedceoeddedcdldoebdedgdidndSddedcdldadbeedoeceidgdndaddeeebeedhbmfafgfifcfibSddedcdldadbeedoeceidgdndaddeeebeedhbjgefbgofib
 ddedcdldadbeedoeceidgdndaddeeebeedhbcfhfefcfkfibSddedcdldadbeedoeceidgdndaddeeebeedhbffiffgefdgofdgefnfibSddedcdldadbeedoeceidgdndaddeeebeedhbcfhfefcfkfbcibSceidgdndaddeeebeedceoeddedcdldoeednddd
diff --git a/unit_tests/input/retmagic.cbc b/unit_tests/input/retmagic.cbc
index 75b5faa..8faf4fb 100644
--- a/unit_tests/input/retmagic.cbc
+++ b/unit_tests/input/retmagic.cbc
@@ -1,4 +1,4 @@
-ClamBCafhf`olfgkd|afefdfggifnf```````|bgacflfafmfbfcfmb`cnb`cacmbicmbgfafeficfcgcecff``afaap`clamcoincidencejb:20
+ClamBCafhdndbigkd|afefdfggifnf```````|bhacflfafmfbfcfmb`cnb`cacmbacdcmbgfafdfccacacbfgc``afaap`clamcoincidencejb:20
 
 Tedaaa`
 E``

-- 
Debian repository for ClamAV



More information about the Pkg-clamav-commits mailing list