[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