[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:05:01 UTC 2010


The following commit has been merged in the debian/unstable branch:
commit dcee45cce295fc2c586725a6ff3089bf8fedabca
Author: Török Edvin <edwin at clamav.net>
Date:   Mon Sep 21 18:48:43 2009 +0300

    Update to latest bytecode format.

diff --git a/libclamav/bytecode.c b/libclamav/bytecode.c
index 79fc356..7dde5e6 100644
--- a/libclamav/bytecode.c
+++ b/libclamav/bytecode.c
@@ -413,6 +413,17 @@ static int parseHeader(struct cli_bc *bc, unsigned char *buffer)
     return CL_SUCCESS;
 }
 
+static int parseLSig(struct cli_bc *bc, unsigned char *buffer)
+{
+    if (buffer[0] != 'L') {
+	cli_errmsg("Invalid logical signature header: %c\n", buffer[0]);
+	return CL_EMALFDB;
+    }
+    bc->lsig = NULL;
+    bc->lsig = cli_strdup(buffer[1]);
+    return CL_SUCCESS;
+}
+
 static uint16_t readTypeID(struct cli_bc *bc, unsigned char *buffer,
 			   unsigned *offset, unsigned len, char *ok)
 {
@@ -1016,6 +1027,7 @@ enum parse_state {
     PARSE_BC_TYPES,
     PARSE_BC_APIS,
     PARSE_BC_GLOBALS,
+    PARSE_BC_LSIG,
     PARSE_FUNC_HEADER,
     PARSE_BB
 };
@@ -1045,6 +1057,18 @@ int cli_bytecode_load(struct cli_bc *bc, FILE *f, struct cli_dbio *dbio)
 		    cli_errmsg("Error at bytecode line %u\n", row);
 		    return rc;
 		}
+		state = PARSE_BC_LSIG;
+		break;
+	    case PARSE_BC_LSIG:
+		rc = parseLSig(bc, (unsigned char*)buffer);
+		if (rc == CL_BREAK) /* skip */ {
+		    bc->state = bc_skip;
+		    return CL_SUCCESS;
+		}
+		if (rc != CL_SUCCESS) {
+		    cli_errmsg("Error at bytecode line %u\n", row);
+		    return rc;
+		}
 		state = PARSE_BC_TYPES;
 		break;
 	    case PARSE_BC_TYPES:
@@ -1193,6 +1217,7 @@ void cli_bytecode_destroy(struct cli_bc *bc)
     free(bc->globaltys);
     if (bc->uses_apis)
 	cli_bitset_free(bc->uses_apis);
+    free(bc->lsig);
 }
 
 #define MAP(val) do { operand_t o = val; \
diff --git a/libclamav/bytecode.h b/libclamav/bytecode.h
index b663ba9..7517b2c 100644
--- a/libclamav/bytecode.h
+++ b/libclamav/bytecode.h
@@ -55,6 +55,7 @@ struct cli_bc {
   enum bc_state state;
   uint16_t start_tid;
   struct bitset_tag *uses_apis;
+  char *lsig;
 };
 
 struct cli_all_bc {
diff --git a/libclamav/bytecode_api.c b/libclamav/bytecode_api.c
index af5bb9f..b0fed10 100644
--- a/libclamav/bytecode_api.c
+++ b/libclamav/bytecode_api.c
@@ -70,7 +70,7 @@ int32_t cli_bcapi_seek(struct cli_bc_ctx* ctx, int32_t pos, uint32_t whence)
     return off;
 }
 
-uint32_t cli_bcapi_debug_print_str(struct cli_bc_ctx *ctx, uint8_t *str, uint32_t len)
+uint32_t cli_bcapi_debug_print_str(struct cli_bc_ctx *ctx, const uint8_t *str, uint32_t len)
 {
     cli_dbgmsg("bytecode debug: %s\n", str);
     return 0;
diff --git a/libclamav/bytecode_api.h b/libclamav/bytecode_api.h
index eec47cc..044f11c 100644
--- a/libclamav/bytecode_api.h
+++ b/libclamav/bytecode_api.h
@@ -36,7 +36,7 @@ uint32_t test0(struct foo*, uint32_t);
 uint32_t test1(uint32_t, uint32_t);
 
 /* reads @size bytes from current file (if any) to @data, returns amount read */
-uint32_t read(uint8_t *data, uint32_t size);
+int32_t read(uint8_t *data, int32_t size);
 
 enum {
     SEEK_SET=0,
@@ -48,7 +48,8 @@ enum {
  * start of file */
 int32_t seek(int32_t pos, uint32_t whence);
 
-uint32_t debug_print_str(uint8_t *str, uint32_t len);
+uint32_t debug_print_str(const uint8_t *str, uint32_t len);
 uint32_t debug_print_uint(uint32_t a, uint32_t b);
+//const char *LogicalSignature;
 
 #endif
diff --git a/libclamav/bytecode_api_decl.c b/libclamav/bytecode_api_decl.c
index 290e1aa..4d88a2f 100644
--- a/libclamav/bytecode_api_decl.c
+++ b/libclamav/bytecode_api_decl.c
@@ -28,7 +28,7 @@ uint32_t cli_bcapi_test0(struct cli_bc_ctx *ctx, struct foo*, uint32_t);
 uint32_t cli_bcapi_test1(struct cli_bc_ctx *ctx, uint32_t, uint32_t);
 int32_t cli_bcapi_read(struct cli_bc_ctx *ctx, uint8_t*, int32_t);
 int32_t cli_bcapi_seek(struct cli_bc_ctx *ctx, int32_t, uint32_t);
-uint32_t cli_bcapi_debug_print_str(struct cli_bc_ctx *ctx, uint8_t*, uint32_t);
+uint32_t cli_bcapi_debug_print_str(struct cli_bc_ctx *ctx, const uint8_t*, uint32_t);
 uint32_t cli_bcapi_debug_print_uint(struct cli_bc_ctx *ctx, uint32_t, uint32_t);
 
 static uint16_t cli_tmp0[]={32, 70, 32};
diff --git a/libclamav/bytecode_api_impl.h b/libclamav/bytecode_api_impl.h
index be45600..c9cca91 100644
--- a/libclamav/bytecode_api_impl.h
+++ b/libclamav/bytecode_api_impl.h
@@ -25,5 +25,5 @@ uint32_t cli_bcapi_test1(struct cli_bc_ctx *, uint32_t, uint32_t);
 
 int32_t cli_bcapi_read(struct cli_bc_ctx*, uint8_t *data, int32_t size);
 int32_t cli_bcapi_seek(struct cli_bc_ctx*, int32_t pos, uint32_t whence);
-uint32_t cli_bcapi_debug_print_str(struct cli_bc_ctx *ctx, uint8_t*, uint32_t);
+uint32_t cli_bcapi_debug_print_str(struct cli_bc_ctx *ctx, const uint8_t*, uint32_t);
 uint32_t cli_bcapi_debug_print_uint(struct cli_bc_ctx *ctx, uint32_t, uint32_t);
diff --git a/libclamav/clambc.h b/libclamav/clambc.h
index de95949..4f10023 100644
--- a/libclamav/clambc.h
+++ b/libclamav/clambc.h
@@ -53,6 +53,7 @@ enum bc_opcode {
   OP_BRANCH,
   OP_JMP,
   OP_RET,
+  OP_RET_VOID,
 
   OP_ICMP_EQ,
   OP_ICMP_NE,
@@ -83,7 +84,7 @@ static const unsigned char operand_counts[] = {
   /* TRUNC -> ZEXT */
   1, 1, 1,
   /* BRANCH, JMP, RET */
-  3, 1, 1,
+  3, 1, 1, 0,
   /* ICMP */
   2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
   /* SELECT */
@@ -96,6 +97,9 @@ static const unsigned char operand_counts[] = {
   2, 3, 0, 2, 1
 };
 
-#define BC_START_TID 69
+enum {
+  GLOBAL_MATCH_COUNTS = 0x8000
+};
 
+#define BC_START_TID 69
 #endif
diff --git a/unit_tests/input/apicalls.cbc b/unit_tests/input/apicalls.cbc
index fa94f94..0248b8f 100644
--- a/unit_tests/input/apicalls.cbc
+++ b/unit_tests/input/apicalls.cbc
@@ -1,15 +1,17 @@
 ClamBCaa`|`````|`afafp`clamcoincidencejb
+L
 Tedacb`bb`bb`b
 Eabaaabbed|afdgefcgdgac``
+G`
 A`b`bLacb`baab`bFadaa
-Bb`b``bbabHonnkm``odHm``oonnkdaaaadab`b`Hhgfedcbadb`babnaaaDm``odDmjnmdTcab`babE
+Bb`b`abbabHonnkm``odHm``oonnkdaaaaeab`b`Hhgfedcbadb`baboaaaDm``odDmjnmdTcab`babE
 Aab`bLabahaab`bFacaa
-Baaaadaah`Bgaab`babnaaaDm``odDmjnmdTcab`babE
+Baaaaeaah`Bgaab`baboaaaDm``odDmjnmdTcab`babE
 Aab`bLabb`aaab`bFacaa
-Baaaadab`a`Dhbgabb`babnaaaDm``odDmjnmdTcab`babE
+Baaaaeab`a`Dhbgabb`baboaaaDm``odDmjnmdTcab`babE
 Aab`bLabb`baab`bFacaa
-Baaaadab`b`Fichbgadb`babnaaaDm``odDmjnmdTcab`babE
+Baaaaeab`b`Fichbgadb`baboaaaDm``odDmjnmdTcab`babE
 Aab`bLabb`daab`bFacaa
-Baaaadab`d`Ncgbfae`dichbgahb`babnaaaDm``odDmjnmdTcab`babE
+Baaaaeab`d`Ncgbfae`dichbgahb`baboaaaDm``odDmjnmdTcab`babE
 Abb`bLadahb`aaaaaaab`bFaeaa
-Baaabdaah`Bhbaaaacdab`aaaDdcbabaaadk`acabb`baenaadDm``odDmjnmdTcab`baeE
+Baaabeaah`Bhbaaaaceab`aaaDdcbabaaadk`acabb`baeoaadDm``odDmjnmdTcab`baeE
diff --git a/unit_tests/input/apicalls2.cbc b/unit_tests/input/apicalls2.cbc
index a46b631..b87cf05 100644
--- a/unit_tests/input/apicalls2.cbc
+++ b/unit_tests/input/apicalls2.cbc
@@ -1,17 +1,19 @@
 ClamBCaa`|`````|`ajafp`clamcoincidencejb
+L
 Tedcabidebidacb`bb`bb`bacb`bbidb`bebed
 Eabababbgd|afdgefcgdgac``aabhd|afdgefcgdg`c``
+G`
 A`b`bLahbedbfd`b`baab`baab`bFajac
-Bbfdaacb`@d at d``eb`aab`bac`bbabHonnkm``odHm``oonnkdaaaddab`bacHhgfedcbadTaaadaaab
-Bb`bae`bbaa`Honnkmjnmdaaafdab`baeHhgfedcbadb`bagnaafDm``odDmjnmdTcab`bag
+Bbfdaadb`@d at d``fb`aab`bacabbabHonnkm``odHm``oonnkdaaadeab`bacHhgfedcbadTaaadaaab
+Bb`baeabbaa`Honnkmjnmdaaafeab`baeHhgfedcbadb`bagoaafDm``odDmjnmdTcab`bag
 BTcab`bDmjnmdE
 Aab`bLabahaab`bFacaa
-Baaaadaah`Bgaab`babnaaaDm``odDmjnmdTcab`babE
+Baaaaeaah`Bgaab`baboaaaDm``odDmjnmdTcab`babE
 Aab`bLabb`aaab`bFacaa
-Baaaadab`a`Dhbgabb`babnaaaDm``odDmjnmdTcab`babE
+Baaaaeab`a`Dhbgabb`baboaaaDm``odDmjnmdTcab`babE
 Aab`bLabb`baab`bFacaa
-Baaaadab`b`Fichbgadb`babnaaaDm``odDmjnmdTcab`babE
+Baaaaeab`b`Fichbgadb`baboaaaDm``odDmjnmdTcab`babE
 Aab`bLabb`daab`bFacaa
-Baaaadab`d`Ncgbfae`dichbgahb`babnaaaDm``odDmjnmdTcab`babE
+Baaaaeab`d`Ncgbfae`dichbgahb`baboaaaDm``odDmjnmdTcab`babE
 Abb`bLadahb`aaaaaaab`bFaeaa
-Baaabdaah`Bhbaaaacdab`aaaDdcbabaaadk`acabb`baenaadDm``odDmjnmdTcab`baeE
+Baaabeaah`Bhbaaaaceab`aaaDdcbabaaadk`acabb`baeoaadDm``odDmjnmdTcab`baeE
diff --git a/unit_tests/input/arith.cbc b/unit_tests/input/arith.cbc
index 239723d..5a5935c 100644
--- a/unit_tests/input/arith.cbc
+++ b/unit_tests/input/arith.cbc
@@ -1,227 +1,229 @@
 ClamBCaa`|`````|`aebbep`clamcoincidencejb
+L
 Ted
 E``
+G`
 A`b`bLbabb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bFbbbaa
-Bb`b`oa`abb`baaoa`acb`baboa`adb`bacoa`aeb`badoa`afb`baeoa`agb`bafoa`ahb`bagoa`aib`bahoa`ajb`baioa`akb`bajoa`alb`bakoa`amb`baloa`anb`bamoa`aob`banoa`b`ab`baooa`baab`bb`aoa`bbab`bbaaa`aa`b`bbbaa`baaabb`bbcaa`bbaacb`bbdaa`bcaadb`bbeaa`bdaaeb`bbfaa`beaafb`bbgaa`bfaagb`bbhaa`bgaahb`bbiaa`bhaaib`bbjaa`biaajb`bbkaa`bjaakb`bblaa`bkaalb`bbmaa`blaamb`bbnaa`bmaanb`bboaa`bnaaob`bb`ba`boab`aTcab`bb`bE
+Bb`b``b`abb`baa`b`acb`bab`b`adb`bac`b`aeb`bad`b`afb`bae`b`agb`baf`b`ahb`bag`b`aib`bah`b`ajb`bai`b`akb`baj`b`alb`bak`b`amb`bal`b`anb`bam`b`aob`ban`b`b`ab`bao`b`baab`bb`a`b`bbab`bbaaa`aa`b`bbbaa`baaabb`bbcaa`bbaacb`bbdaa`bcaadb`bbeaa`bdaaeb`bbfaa`beaafb`bbgaa`bfaagb`bbhaa`bgaahb`bbiaa`bhaaib`bbjaa`biaajb`bbkaa`bjaakb`bblaa`bkaalb`bbmaa`blaamb`bbnaa`bmaanb`bboaa`bnaaob`bb`ba`boab`aTcab`bb`bE
 A`b`bLb`cahaab`bahaab`bahaab`bahaab`bb`aaab`bb`aaab`bb`aaab`bb`aaab`bb`baab`bb`baab`bb`baab`bb`baab`bb`daab`bb`daab`bb`daab`bb`daab`bFbaebab
-Bah`oabbcaAaaAaaaaaadaah`AbaTaaaaabaa
-Bb`baboaabga at dTcab`bab
-BahacoabbcaAaaBooaaaaddaahac at aTaaadadac
-Bb`baeoaabga at dTcab`bae
-BahafoabbcaBooaBooaaaagdaahafBnoaTaaagafae
-Bb`bahoaabga at dTcab`bah
-BahaioabbcaBooaAaaaaajdaahai at aTaaajahag
-Bb`bakoaabga at dTcab`bak
-Bb`aaloabbdaAabAabaaamdab`aalAbbTaaamajai
-Bb`banoaabga at dTcab`ban
-Bb`aaooabbdaAabDoooobaab`adab`aao at bTaab`aalak
-Bb`bbaaoaabga at dTcab`bbaa
-Bb`abbaoabbdaDoooobDoooobaabcadab`abbaDnooobTaabcaanam
-Bb`bbdaoaabga at dTcab`bbda
-Bb`abeaoabbdaDoooobAabaabfadab`abea at bTaabfab`aao
-Bb`bbgaoaabga at dTcab`bbga
-Bb`bbhaoabbeaAadAadaabiadab`bbhaAbdTaabiabbabaa
-Bb`bbjaoaabga at dTcab`bbja
-Bb`bbkaoabbeaAadHoooooooodaabladab`bbka at dTaablabdabca
-Bb`bbmaoaabga at dTcab`bbma
-Bb`bbnaoabbeaHoooooooodHoooooooodaaboadab`bbnaHnooooooodTaaboabfabea
-Bb`bb`boaabga at dTcab`bb`b
-Bb`bbaboabbeaHoooooooodAadaabbbdab`bbab at dTaabbbbhabga
-Bb`bbcboaabga at dTcab`bbcb
-Bb`dbdboabbfaAahAahaabebdab`dbdbAbhTaabebbjabia
-Bb`bbfboaabga at dTcab`bbfb
-Bb`dbgboabbfaAahPoooooooooooooooohaabhbdab`dbgb at hTaabhbblabka
-Bb`bbiboaabga at dTcab`bbib
-Bb`dbjboabbfaPoooooooooooooooohPoooooooooooooooohaabkbdab`dbjbPnooooooooooooooohTaabkbbnabma
-Bb`bblboaabga at dTcab`bblb
-Bb`dbmboabbfaPoooooooooooooooohAahaabnbdab`dbmb at hTaabnbb`bboa
-Bb`bboboaabga at dTcab`bbob
+Bah``bbbcaAaaAaaaaaaeaah`AbaTaaaaabaa
+Bb`bab`babga at dTcab`bab
+Bahac`bbbcaAaaBooaaaadeaahac at aTaaadadac
+Bb`bae`babga at dTcab`bae
+Bahaf`bbbcaBooaBooaaaageaahafBnoaTaaagafae
+Bb`bah`babga at dTcab`bah
+Bahai`bbbcaBooaAaaaaajeaahai at aTaaajahag
+Bb`bak`babga at dTcab`bak
+Bb`aal`bbbdaAabAabaaameab`aalAbbTaaamajai
+Bb`ban`babga at dTcab`ban
+Bb`aao`bbbdaAabDoooobaab`aeab`aao at bTaab`aalak
+Bb`bbaa`babga at dTcab`bbaa
+Bb`abba`bbbdaDoooobDoooobaabcaeab`abbaDnooobTaabcaanam
+Bb`bbda`babga at dTcab`bbda
+Bb`abea`bbbdaDoooobAabaabfaeab`abea at bTaabfab`aao
+Bb`bbga`babga at dTcab`bbga
+Bb`bbha`bbbeaAadAadaabiaeab`bbhaAbdTaabiabbabaa
+Bb`bbja`babga at dTcab`bbja
+Bb`bbka`bbbeaAadHoooooooodaablaeab`bbka at dTaablabdabca
+Bb`bbma`babga at dTcab`bbma
+Bb`bbna`bbbeaHoooooooodHoooooooodaaboaeab`bbnaHnooooooodTaaboabfabea
+Bb`bb`b`babga at dTcab`bb`b
+Bb`bbab`bbbeaHoooooooodAadaabbbeab`bbab at dTaabbbbhabga
+Bb`bbcb`babga at dTcab`bbcb
+Bb`dbdb`bbbfaAahAahaabebeab`dbdbAbhTaabebbjabia
+Bb`bbfb`babga at dTcab`bbfb
+Bb`dbgb`bbbfaAahPoooooooooooooooohaabhbeab`dbgb at hTaabhbblabka
+Bb`bbib`babga at dTcab`bbib
+Bb`dbjb`bbbfaPoooooooooooooooohPoooooooooooooooohaabkbeab`dbjbPnooooooooooooooohTaabkbbnabma
+Bb`bblb`babga at dTcab`bblb
+Bb`dbmb`bbbfaPoooooooooooooooohAahaabnbeab`dbmb at hTaabnbb`bboa
+Bb`bbob`babga at dTcab`bbob
 BTcab`bAadE
 A`b`bLbdbahaab`bahaab`bahaab`bb`aaab`bb`aaab`bb`aaab`bb`baab`bb`baab`bb`baab`bb`daab`bb`daab`bb`daab`bFbmcbia
-Bah`oabbhaBooaAaaaaaadaah`BnoaTaaaaabaa
-Bb`baboaabga at dTcab`bab
-BahacoabbhaAaaBooaaaaddaahacAbaTaaadadac
-Bb`baeoaabga at dTcab`bae
-BahafoabbhaAaaAaaaaagdaahaf at aTaaagafae
-Bb`bahoaabga at dTcab`bah
-Bb`aaioabbiaDoooobAabaaajdab`aaiDnooobTaaajahag
-Bb`bakoaabga at dTcab`bak
-Bb`aaloabbiaAabDoooobaaamdab`aalAbbTaaamajai
-Bb`banoaabga at dTcab`ban
-Bb`aaooabbiaAabAabaab`adab`aao at bTaab`aalak
-Bb`bbaaoaabga at dTcab`bbaa
-Bb`bbbaoabbjaHoooooooodAadaabcadab`bbbaHnooooooodTaabcaanam
-Bb`bbdaoaabga at dTcab`bbda
-Bb`bbeaoabbjaAadHoooooooodaabfadab`bbeaAbdTaabfab`aao
-Bb`bbgaoaabga at dTcab`bbga
-Bb`bbhaoabbjaAadAadaabiadab`bbha at dTaabiabbabaa
-Bb`bbjaoaabga at dTcab`bbja
-Bb`dbkaoabbkaPoooooooooooooooohAahaabladab`dbkaPnooooooooooooooohTaablabdabca
-Bb`bbmaoaabga at dTcab`bbma
-Bb`dbnaoabbkaAahPoooooooooooooooohaaboadab`dbnaAbhTaaboabfabea
-Bb`bb`boaabga at dTcab`bb`b
-Bb`dbaboabbkaAahAahaabbbdab`dbab at hTaabbbbhabga
-Bb`bbcboaabga at dTcab`bbcb
+Bah``bbbhaBooaAaaaaaaeaah`BnoaTaaaaabaa
+Bb`bab`babga at dTcab`bab
+Bahac`bbbhaAaaBooaaaadeaahacAbaTaaadadac
+Bb`bae`babga at dTcab`bae
+Bahaf`bbbhaAaaAaaaaageaahaf at aTaaagafae
+Bb`bah`babga at dTcab`bah
+Bb`aai`bbbiaDoooobAabaaajeab`aaiDnooobTaaajahag
+Bb`bak`babga at dTcab`bak
+Bb`aal`bbbiaAabDoooobaaameab`aalAbbTaaamajai
+Bb`ban`babga at dTcab`ban
+Bb`aao`bbbiaAabAabaab`aeab`aao at bTaab`aalak
+Bb`bbaa`babga at dTcab`bbaa
+Bb`bbba`bbbjaHoooooooodAadaabcaeab`bbbaHnooooooodTaabcaanam
+Bb`bbda`babga at dTcab`bbda
+Bb`bbea`bbbjaAadHoooooooodaabfaeab`bbeaAbdTaabfab`aao
+Bb`bbga`babga at dTcab`bbga
+Bb`bbha`bbbjaAadAadaabiaeab`bbha at dTaabiabbabaa
+Bb`bbja`babga at dTcab`bbja
+Bb`dbka`bbbkaPoooooooooooooooohAahaablaeab`dbkaPnooooooooooooooohTaablabdabca
+Bb`bbma`babga at dTcab`bbma
+Bb`dbna`bbbkaAahPoooooooooooooooohaaboaeab`dbnaAbhTaaboabfabea
+Bb`bb`b`babga at dTcab`bb`b
+Bb`dbab`bbbkaAahAahaabbbeab`dbab at hTaabbbbhabga
+Bb`bbcb`babga at dTcab`bbcb
 BTcab`bAddE
 A`b`bLb`cahaab`bahaab`bahaab`bahaab`bb`aaab`bb`aaab`bb`aaab`bb`aaab`bb`baab`bb`baab`bb`baab`bb`baab`bb`daab`bb`daab`bb`daab`bb`daab`bFbaebab
-Bah`oabblaBooaAaaaaaadaah`BooaTaaaaabaa
-Bb`baboaabga at dTcab`bab
-BahacoabblaBooaBooaaaaddaahacAaaTaaadadac
-Bb`baeoaabga at dTcab`bae
-BahafoabblaAaaAaaaaagdaahafAaaTaaagafae
-Bb`bahoaabga at dTcab`bah
-BahaioabblaBaaaBcbaaaajdaahaiBceaTaaajahag
-Bb`bakoaabga at dTcab`bak
-Bb`aaloabbmaDoooobAabaaamdab`aalDoooobTaaamajai
-Bb`banoaabga at dTcab`ban
-Bb`aaooabbmaDoooobDoooobaab`adab`aaoAabTaab`aalak
-Bb`bbaaoaabga at dTcab`bbaa
-Bb`abbaoabbmaAabAabaabcadab`abbaAabTaabcaanam
-Bb`bbdaoaabga at dTcab`bbda
-Bb`abeaoabbmaBckbCgfcbaabfadab`abeaDe`afbTaabfab`aao
-Bb`bbgaoaabga at dTcab`bbga
-Bb`bbhaoabbnaHoooooooodAadaabiadab`bbhaHoooooooodTaabiabbabaa
-Bb`bbjaoaabga at dTcab`bbja
-Bb`bbkaoabbnaHoooooooodHoooooooodaabladab`bbkaAadTaablabdabca
-Bb`bbmaoaabga at dTcab`bbma
-Bb`bbnaoabbnaAadAadaaboadab`bbnaAadTaaboabfabea
-Bb`bb`boaabga at dTcab`bb`b
-Bb`bbaboabbnaE`emkbdEhnmdmdaabbbdab`bbabH`h`jlgbgdTaabbbbhabga
-Bb`bbcboaabga at dTcab`bbcb
-Bb`dbdboabboaPoooooooooooooooohAahaabebdab`dbdbPoooooooooooooooohTaabebbjabia
-Bb`bbfboaabga at dTcab`bbfb
-Bb`dbgboabboaPoooooooooooooooohPoooooooooooooooohaabhbdab`dbgbAahTaabhbblabka
-Bb`bbiboaabga at dTcab`bbib
-Bb`dbjboabboaAahAahaabkbdab`dbjbAahTaabkbbnabma
-Bb`bblboaabga at dTcab`bblb
-Bb`dbmboabboaImaghnanbdhIogjdckg`bhaabnbdab`dbmbPcfifjghokjjemflghTaabnbb`bboa
-Bb`bboboaabga at dTcab`bbob
+Bah``bbblaBooaAaaaaaaeaah`BooaTaaaaabaa
+Bb`bab`babga at dTcab`bab
+Bahac`bbblaBooaBooaaaadeaahacAaaTaaadadac
+Bb`bae`babga at dTcab`bae
+Bahaf`bbblaAaaAaaaaageaahafAaaTaaagafae
+Bb`bah`babga at dTcab`bah
+Bahai`bbblaBaaaBcbaaaajeaahaiBceaTaaajahag
+Bb`bak`babga at dTcab`bak
+Bb`aal`bbbmaDoooobAabaaameab`aalDoooobTaaamajai
+Bb`ban`babga at dTcab`ban
+Bb`aao`bbbmaDoooobDoooobaab`aeab`aaoAabTaab`aalak
+Bb`bbaa`babga at dTcab`bbaa
+Bb`abba`bbbmaAabAabaabcaeab`abbaAabTaabcaanam
+Bb`bbda`babga at dTcab`bbda
+Bb`abea`bbbmaBckbCgfcbaabfaeab`abeaDe`afbTaabfab`aao
+Bb`bbga`babga at dTcab`bbga
+Bb`bbha`bbbnaHoooooooodAadaabiaeab`bbhaHoooooooodTaabiabbabaa
+Bb`bbja`babga at dTcab`bbja
+Bb`bbka`bbbnaHoooooooodHoooooooodaablaeab`bbkaAadTaablabdabca
+Bb`bbma`babga at dTcab`bbma
+Bb`bbna`bbbnaAadAadaaboaeab`bbnaAadTaaboabfabea
+Bb`bb`b`babga at dTcab`bb`b
+Bb`bbab`bbbnaE`emkbdEhnmdmdaabbbeab`bbabH`h`jlgbgdTaabbbbhabga
+Bb`bbcb`babga at dTcab`bbcb
+Bb`dbdb`bbboaPoooooooooooooooohAahaabebeab`dbdbPoooooooooooooooohTaabebbjabia
+Bb`bbfb`babga at dTcab`bbfb
+Bb`dbgb`bbboaPoooooooooooooooohPoooooooooooooooohaabhbeab`dbgbAahTaabhbblabka
+Bb`bbib`babga at dTcab`bbib
+Bb`dbjb`bbboaAahAahaabkbeab`dbjbAahTaabkbbnabma
+Bb`bblb`babga at dTcab`bblb
+Bb`dbmb`bbboaImaghnanbdhIogjdckg`bhaabnbeab`dbmbPcfifjghokjjemflghTaabnbb`bboa
+Bb`bbob`babga at dTcab`bbob
 BTcab`bB`adE
 A`b`bLacb`aaab`bFafac
-Bb`a`oabbabDjnmobAgbaaaadab`a`DfddbbTaaaaabaa
-Bb`baboaabga at dTcab`bab
+Bb`a``bbbabDjnmobAgbaaaaeab`a`DfddbbTaaaaabaa
+Bb`bab`babga at dTcab`bab
 BTcab`bB`ddE
 A`b`bLbfaahaab`bahaab`bahaab`bahaab`bahahaab`bahaab`bb`aaab`bFbebao
-Bah`oabbdbAaaBooaaaaadaah`BooaTaaaaabaa
-Bb`baboaabga at dTcab`bab
-BahacoabbdbBooaAaaaaaddaahacBooaTaaadadac
-Bb`baeoaabga at dTcab`bae
-BahafoabbdbBooaBooaaaagdaahafAaaTaaagafae
-Bb`bahoaabga at dTcab`bah
-BahaioabbdbAaaAaaaaajdaahaiAaaTaaajahag
-Bb`bakoaabga at dTcab`bak
-BahaloabbcaBnoaAeaahamoabbdbAfaalaaandaahamAbaTaaanajai
-Bb`baooaabga at dTcab`bao
-Bahb`aoabbdbalAbaaabaadaahb`aAaaTaabaaalak
-Bb`bbbaoaabga at dTcab`bbba
-Bb`abcaoabbebDjnmobAgbaabdadab`abcaDdkoobTaabdaanam
-Bb`bbeaoaabga at dTcab`bbea
+Bah``bbbdbAaaBooaaaaaeaah`BooaTaaaaabaa
+Bb`bab`babga at dTcab`bab
+Bahac`bbbdbBooaAaaaaadeaahacBooaTaaadadac
+Bb`bae`babga at dTcab`bae
+Bahaf`bbbdbBooaBooaaaageaahafAaaTaaagafae
+Bb`bah`babga at dTcab`bah
+Bahai`bbbdbAaaAaaaaajeaahaiAaaTaaajahag
+Bb`bak`babga at dTcab`bak
+Bahal`bbbcaBnoaAeaaham`bbbdbAfaalaaaneaahamAbaTaaanajai
+Bb`bao`babga at dTcab`bao
+Bahb`a`bbbdbalAbaaabaaeaahb`aAaaTaabaaalak
+Bb`bbba`babga at dTcab`bbba
+Bb`abca`bbbebDjnmobAgbaabdaeab`abcaDdkoobTaabdaanam
+Bb`bbea`babga at dTcab`bbea
 BTcab`bC``adE
 A`b`bLaoahaab`bahaab`bahaab`bb`aaab`bb`aaab`bFbjaak
-Bah`oabblbBooaAaaaaaadaah`@aTaaaaabaa
-Bb`baboaabga at dTcab`bab
-BahacoabbhbBooaAaaaaaddaahac at aTaaadadac
-Bb`baeoaabga at dTcab`bae
-BahafoabblbAaaBooaaaagdaahaf at aTaaagafae
-Bb`bahoaabga at dTcab`bah
-Bb`aaioabbmbDinmobAgbaaajdab`aaiDmooobTaaajahag
-Bb`bakoaabga at dTcab`bak
-Bb`aaloabbibDinmobAgbaaamdab`aalAfbTaaamajai
-Bb`banoaabga at dTcab`ban
+Bah``bbblbBooaAaaaaaaeaah`@aTaaaaabaa
+Bb`bab`babga at dTcab`bab
+Bahac`bbbhbBooaAaaaaadeaahac at aTaaadadac
+Bb`bae`babga at dTcab`bae
+Bahaf`bbblbAaaBooaaaageaahaf at aTaaagafae
+Bb`bah`babga at dTcab`bah
+Bb`aai`bbbmbDinmobAgbaaajeab`aaiDmooobTaaajahag
+Bb`bak`babga at dTcab`bak
+Bb`aal`bbbibDinmobAgbaaameab`aalAfbTaaamajai
+Bb`ban`babga at dTcab`ban
 BTcab`bC``ddE
 A`b`bLalahaab`bahaab`bahaab`bb`aaab`bFbeaai
-Bah`oabb`cAaaAadaaaadaah`AbaTaaaaabaa
-Bb`baboaabga at dTcab`bab
-Bahacoabb`cAaa at daaaddaahacAaaTaaadadac
-Bb`baeoaabga at dTcab`bae
-Bahafoabb`cBnoaAbdaaagdaahafBhoaTaaagafae
-Bb`bahoaabga at dTcab`bah
-Bb`aaioabbacDnojobAbdaaajdab`aaiDhoknbTaaajahag
-Bb`bakoaabga at dTcab`bak
+Bah``bbb`cAaaAadaaaaeaah`AbaTaaaaabaa
+Bb`bab`babga at dTcab`bab
+Bahac`bbb`cAaa at daaadeaahacAaaTaaadadac
+Bb`bae`babga at dTcab`bae
+Bahaf`bbb`cBnoaAbdaaageaahafBhoaTaaagafae
+Bb`bah`babga at dTcab`bah
+Bb`aai`bbbacDnojobAbdaaajeab`aaiDhoknbTaaajahag
+Bb`bak`babga at dTcab`bak
 BTcab`bD```adE
 A`b`bLagahaab`bahahaab`bFalae
-Bah`oabbdcBnoaAadaaaadaah`BogaTaaaaabaa
-Bb`baboaabga at dTcab`bab
-BahacoabbcaBnoaAeaahadoabbdcacAadaaaedaahadAaaTaaaeadac
-Bb`bafoaabga at dTcab`baf
+Bah``bbbdcBnoaAadaaaaeaah`BogaTaaaaabaa
+Bb`bab`babga at dTcab`bab
+Bahac`bbbcaBnoaAeaahad`bbbdcacAadaaaeeaahadAaaTaaaeadac
+Bb`baf`babga at dTcab`baf
 BTcab`bD```ddE
 A`b`bLafahaab`bahaab`bFakae
-Bah`oabbhcBnoaAaaaaaadaah`BooaTaaaaabaa
-Bb`baboaabga at dTcab`bab
-BahacoabbhcBngaAaaaaaddaahacBocaTaaadadac
-Bb`baeoaabga at dTcab`bae
+Bah``bbbhcBnoaAaaaaaaeaah`BooaTaaaaabaa
+Bb`bab`babga at dTcab`bab
+Bahac`bbbhcBngaAaaaaadeaahacBocaTaaadadac
+Bb`bae`babga at dTcab`bae
 BTcab`bE````adE
 A`b`bLalahaab`bb`aaab`bb`baab`bb`daab`bFbeaai
-Bah`oabblcBjeaAoaaaaadaah`AjaTaaaaabaa
-Bb`baboaabga at dTcab`bab
-Bb`aacoabbmcDlkjebD```obaaaddab`aacD```ebTaaadadac
-Bb`baeoaabga at dTcab`bae
-Bb`bafoabbncHdcbalkjedG``````odaaagdab`bafG``````jdTaaagafae
-Bb`bahoaabga at dTcab`bah
-Bb`daioabbocPdcbahgfedcbalkjehG``````ohaaajdab`daiG``````fhTaaajahag
-Bb`bakoaabga at dTcab`bak
+Bah``bbblcBjeaAoaaaaaeaah`AjaTaaaaabaa
+Bb`bab`babga at dTcab`bab
+Bb`aac`bbbmcDlkjebD```obaaadeab`aacD```ebTaaadadac
+Bb`bae`babga at dTcab`bae
+Bb`baf`bbbncHdcbalkjedG``````odaaageab`bafG``````jdTaaagafae
+Bb`bah`babga at dTcab`bah
+Bb`dai`bbbocPdcbahgfedcbalkjehG``````ohaaajeab`daiG``````fhTaaajahag
+Bb`bak`babga at dTcab`bak
 BTcab`bE````ddE
 A`b`bLalahaab`bb`aaab`bb`baab`bb`daab`bFbeaai
-Bah`oabb`dBjeaAoaaaaadaah`BoeaTaaaaabaa
-Bb`baboaabga at dTcab`bab
-Bb`aacoabbadDlkjebD```obaaaddab`aacDlkjobTaaadadac
-Bb`baeoaabga at dTcab`bae
-Bb`bafoabbbdHdcbalkjedG``````odaaagdab`bafHdcbalkoedTaaagafae
-Bb`bahoaabga at dTcab`bah
-Bb`daioabbcdPdcbahgfedcbalkjehG``````ohaaajdab`daiPdcbahgoedcbalkjehTaaajahag
-Bb`bakoaabga at dTcab`bak
+Bah``bbb`dBjeaAoaaaaaeaah`BoeaTaaaaabaa
+Bb`bab`babga at dTcab`bab
+Bb`aac`bbbadDlkjebD```obaaadeab`aacDlkjobTaaadadac
+Bb`bae`babga at dTcab`bae
+Bb`baf`bbbbdHdcbalkjedG``````odaaageab`bafHdcbalkoedTaaagafae
+Bb`bah`babga at dTcab`bah
+Bb`dai`bbbcdPdcbahgfedcbalkjehG``````ohaaajeab`daiPdcbahgoedcbalkjehTaaajahag
+Bb`bak`babga at dTcab`bak
 BTcab`bF`````adE
 A`b`bLalahaab`bb`aaab`bb`baab`bb`daab`bFbeaai
-Bah`oabbddBjeaB`oaaaaadaah`BjjaTaaaaabaa
-Bb`baboaabga at dTcab`bab
-Bb`aacoabbedDjejebD``oobaaaddab`aacDjeejbTaaadadac
-Bb`baeoaabga at dTcab`bae
-Bb`bafoabbfdHjejejejedH``oooooodaaagdab`bafHjeejejejdTaaagafae
-Bb`bahoaabga at dTcab`bah
-Bb`daioabbgdPjejejejejejejejehP``oooooooooooooohaaajdab`daiPjeejejejejejejejhTaaajahag
-Bb`bakoaabga at dTcab`bak
+Bah``bbbddBjeaB`oaaaaaeaah`BjjaTaaaaabaa
+Bb`bab`babga at dTcab`bab
+Bb`aac`bbbedDjejebD``oobaaadeab`aacDjeejbTaaadadac
+Bb`bae`babga at dTcab`bae
+Bb`baf`bbbfdHjejejejedH``oooooodaaageab`bafHjeejejejdTaaagafae
+Bb`bah`babga at dTcab`bah
+Bb`dai`bbbgdPjejejejejejejejehP``oooooooooooooohaaajeab`daiPjeejejejejejejejhTaaajahag
+Bb`bak`babga at dTcab`bak
 BTcab`bF`````ddE
 A`b`bLaib`aaab`bb`baab`bb`daab`bFb`aag
-Bb`a`oaabhdBloaaaaadab`a`DlooobTaaaaabaa
-Bb`baboaabga at dTcab`bab
-Bb`bacoaabidDjooobaaaddab`bacHjooooooodTaaadadac
-Bb`baeoaabga at dTcab`bae
-Bb`dafoaabjdHjooooooodaaagdab`dafPjooooooooooooooohTaaagafae
-Bb`bahoaabga at dTcab`bah
+Bb`a``babhdBloaaaaaeab`a`DlooobTaaaaabaa
+Bb`bab`babga at dTcab`bab
+Bb`bac`babidDjooobaaadeab`bacHjooooooodTaaadadac
+Bb`bae`babga at dTcab`bae
+Bb`daf`babjdHjooooooodaaageab`dafPjooooooooooooooohTaaagafae
+Bb`bah`babga at dTcab`bah
 BTcab`bG``````adE
 A`b`bLaib`aaab`bb`baab`bb`daab`bFb`aag
-Bb`a`oaabkdBloaaaaadab`a`BlobTaaaaabaa
-Bb`baboaabga at dTcab`bab
-Bb`bacoaabldDlooobaaaddab`bacDlooodTaaadadac
-Bb`baeoaabga at dTcab`bae
-Bb`dafoaabmdHlooooooodaaagdab`dafHlooooooohTaaagafae
-Bb`bahoaabga at dTcab`bah
+Bb`a``babkdBloaaaaaeab`a`BlobTaaaaabaa
+Bb`bab`babga at dTcab`bab
+Bb`bac`babldDlooobaaadeab`bacDlooodTaaadadac
+Bb`bae`babga at dTcab`bae
+Bb`daf`babmdHlooooooodaaageab`dafHlooooooohTaaagafae
+Bb`bah`babga at dTcab`bah
 BTcab`bG``````ddE
 A`b`bLaiahaab`bb`aaab`bb`baab`bFb`aag
-Bah`oaabndDmnnobaaaadaah`BmnaTaaaaabaa
-Bb`baboaabga at dTcab`bab
-Bb`aacoaabodHmnnomjnmdaaaddab`aacDmnnobTaaadadac
-Bb`baeoaabga at dTcab`bae
-Bb`bafoaab`ePonnkmnnomjnmonnkhaaagdab`bafHonnkmnnodTaaagafae
-Bb`bahoaabga at dTcab`bah
+Bah``babndDmnnobaaaaeaah`BmnaTaaaaabaa
+Bb`bab`babga at dTcab`bab
+Bb`aac`babodHmnnomjnmdaaadeab`aacDmnnobTaaadadac
+Bb`bae`babga at dTcab`bae
+Bb`baf`bab`ePonnkmnnomjnmonnkhaaageab`bafHonnkmnnodTaaagafae
+Bb`bah`babga at dTcab`bah
 BTcab`bH```````adE
 A`b`bLaob`baab`bb`baab`bb`baab`bb`baab`bb`baab`bFbjaak
-Bb`b`oadbaeHoooooooodAbd at dAddaaaadab`b`CijbdTaaaaabaa
-Bb`baboaabga at dTcab`bab
-Bb`bacoadbaeHoooooooodHoooooooodAadHoooooooodaaaddab`bacCbbcdTaaadadac
-Bb`baeoaabga at dTcab`bae
-Bb`bafoadbaeHooooooood at dAcdHnooooooodaaagdab`bafCcjbdTaaagafae
-Bb`bahoaabga at dTcab`bah
-Bb`baioadbaeHooooooood at dAcd@daaajdab`baiCcnbdTaaajahag
-Bb`bakoaabga at dTcab`bak
-Bb`baloadbaeHooooooood at d@dHoooooooodaaamdab`balBkbdTaaamajai
-Bb`banoaabga at dTcab`ban
+Bb`b``bdbaeHoooooooodAbd at dAddaaaaeab`b`CijbdTaaaaabaa
+Bb`bab`babga at dTcab`bab
+Bb`bac`bdbaeHoooooooodHoooooooodAadHoooooooodaaadeab`bacCbbcdTaaadadac
+Bb`bae`babga at dTcab`bae
+Bb`baf`bdbaeHooooooood at dAcdHnooooooodaaageab`bafCcjbdTaaagafae
+Bb`bah`babga at dTcab`bah
+Bb`bai`bdbaeHooooooood at dAcd@daaajeab`baiCcnbdTaaajahag
+Bb`bak`babga at dTcab`bak
+Bb`bal`bdbaeHooooooood at d@dHoooooooodaaameab`balBkbdTaaamajai
+Bb`ban`babga at dTcab`ban
 BTcab`bH```````ddE
 A`b`bLafb`baab`bb`baab`bFakae
-Bb`b`oacbbeAddAedAfdaaaadab`b`AedTaaaaabaa
-Bb`baboaabga at dTcab`bab
-Bb`bacoacbbe at dAedAfdaaaddab`bacAfdTaaadadac
-Bb`baeoaabga at dTcab`bae
+Bb`b``bcbbeAddAedAfdaaaaeab`b`AedTaaaaabaa
+Bb`bab`babga at dTcab`bab
+Bb`bac`bcbbe at dAedAfdaaadeab`bacAfdTaaadadac
+Bb`bae`babga at dTcab`bae
 BTcab`bH```````hdE
 AbahLaaahahahFabaa
 Bahaba`aa`TcaahabE
@@ -348,6 +350,6 @@ Bb`aaan``Tcab`aaaE
 Aab`bLaab`db`bFabaa
 Bb`baan``Tcab`baaE
 Adb`bLbmab`bb`bb`bb`baab`baab`bb`baab`bb`baab`bb`baab`bb`baab`bb`baab`bb`baab`bb`baab`bb`baab`bb`bFbnaaa
-Baaadmab`b`aab`bae`aadaaafjab`baaabb`bagl`aeAbdb`bahnaafaeagaaaijab`b`aab`bajl`ahAddb`baknaaiajahaaalmab`baaabb`baml`akAhdb`bannaalakamaaaohab`b`acb`bb`al`anB`adb`bbaanaaob`aanaabbafab`baaacb`bbcal`baaB`bdb`bbdanabbabaabcaaabeahab`babacb`bbfal`bdaB`ddb`bbganabeabdabfaaabhafab`b`acb`bbial`bgaB`hdb`bbjanabhabiabgaaabkadab`b`aab`bblal`bjaC``adb`bbmanabkablabjaaabnadab`baaabb`bboal`bmaC``bdb`bb`bnabnabmaboaTcab`bb`bE
+Baaadnab`b`aab`bae`aadaaafkab`baaabb`bagl`aeAbdb`bahoaafaeagaaaikab`b`aab`bajl`ahAddb`bakoaaiajahaaalnab`baaabb`baml`akAhdb`banoaalakamaaaoiab`b`acb`bb`al`anB`adb`bbaaoaaob`aanaabbagab`baaacb`bbcal`baaB`bdb`bbdaoabbabaabcaaabeaiab`babacb`bbfal`bdaB`ddb`bbgaoabeabdabfaaabhagab`b`acb`bbial`bgaB`hdb`bbjaoabhabiabgaaabkaeab`b`aab`bblal`bjaC``adb`bbmaoabkablabjaaabnaeab`baaabb`bboal`bmaC``bdb`bb`boabnabmaboaTcab`bb`bE
 Acb`bLabb`bb`bb`baab`bFacaa
-Baaaceab`b`@db`badnaacaaabTcab`badE
+Baaacfab`b`@db`badoaacaaabTcab`badE
diff --git a/unit_tests/input/div0.cbc b/unit_tests/input/div0.cbc
index 828bef6..cc61770 100644
--- a/unit_tests/input/div0.cbc
+++ b/unit_tests/input/div0.cbc
@@ -1,7 +1,9 @@
 ClamBCaa`|`````|`aeabp`clamcoincidencejb
+L
 Ted
 E``
+G`
 A`b`bLaab`bFabaa
-Bb`b`oaaab at dTcab`b`E
+Bb`b``baab at dTcab`b`E
 Aab`bLaab`bb`bFabaa
 Bb`baae`Aad`Tcab`baaE
diff --git a/unit_tests/input/lsig.cbc b/unit_tests/input/lsig.cbc
new file mode 100644
index 0000000..55d5a18
--- /dev/null
+++ b/unit_tests/input/lsig.cbc
@@ -0,0 +1,7 @@
+ClamBCaa`|`````|`aoaap`clamcoincidencejb
+L;Target:0;((0|1|2)=42,2);aabb;ffffffff;aaccee;f00d
+Tedebndebmdebldebkdebadebcddadb`bdagahdaiahdaeah
+E``
+GalbndBafBafBbfBbf@`bmdBffBffBffBffBffBffBffBff@`bndBffB`cB`cBdf@`bldBafBafBcfBcfBefBef@`bad@@`bad at Aa`bad at Ab`bad at Ac`bcdAcD```h`bcdAbD```h`bcd at D```h`bcdAaD```h`
+A`b`bLacb`baab`bFadaa
+Bb`b`gbAh`aaaaeab`b`Abdb`bab`aaaTcab`babE
diff --git a/unit_tests/input/retmagic.cbc b/unit_tests/input/retmagic.cbc
index 8587d0a..72bce89 100644
--- a/unit_tests/input/retmagic.cbc
+++ b/unit_tests/input/retmagic.cbc
@@ -1,5 +1,7 @@
 ClamBCaa`|`````|`aeaap`clamcoincidencejb
+L
 Ted
 E``
+G`
 A`b`bL`Faaaa
 BTcab`bHm``odcbadE

-- 
Debian repository for ClamAV



More information about the Pkg-clamav-commits mailing list