[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:09:44 UTC 2010


The following commit has been merged in the debian/unstable branch:
commit b8656613c0fa934673f908b9e42f56f7c1e8ec46
Author: Török Edvin <edwin at clamav.net>
Date:   Tue Nov 24 14:53:15 2009 +0200

    Doxygenize API headers.

diff --git a/libclamav/bytecode_api.h b/libclamav/bytecode_api.h
index bd05f38..daab84d 100644
--- a/libclamav/bytecode_api.h
+++ b/libclamav/bytecode_api.h
@@ -19,6 +19,8 @@
  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  *  MA 02110-1301, USA.
  */
+
+/** @file */
 #ifndef BYTECODE_API_H
 #define BYTECODE_API_H
 
@@ -37,46 +39,116 @@ struct foo {
     struct foo *nxt;
 };
 
+/** Bytecode trigger kind */
 enum BytecodeKind {
-    BC_GENERIC=0,/* generic bytecode, not tied to a specific hook */
+    /** generic bytecode, not tied a specific hook */
+    BC_GENERIC=0,
     _BC_START_HOOKS=256,
-    BC_LOGICAL=256,/* triggered by a logical signature */
-    BC_PE_UNPACKER,/* a PE unpacker */
+    /** triggered by a logical signature */
+    BC_LOGICAL=256,
+    /** a PE unpacker */
+    BC_PE_UNPACKER,
     _BC_LAST_HOOK
 };
 
 #ifdef __CLAMBC__
 
+/** @brief Logical signature match counts
+ *
+ *  This is a low-level variable, use the Macros in bytecode_local.h instead to
+ *  access it.
+ * */
 extern const uint32_t __clambc_match_counts[64];
+/** Executable info, if this is a PE hook */
 extern const struct cli_exe_info __clambc_exeinfo;
+/** PE data, if this is a PE hook */
 extern const struct cli_pe_hook_data __clambc_pedata;
 
+/** Kind of the bytecode */
 const uint16_t __clambc_kind;
 
 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 */
+/**
+ * @brief Reads specified amount of bytes from the current file
+ * into a buffer.
+ *
+ * @param[in] size amount of bytes to read
+ * @param[out] data pointer to buffer where data is read into
+ * @return amount read.
+ */
 int32_t read(uint8_t *data, int32_t size);
 
+
 enum {
+    /**set file position to specified absolute position */
     SEEK_SET=0,
+    /**set file position relative to current position */
     SEEK_CUR,
+    /**set file position relative to file end*/
     SEEK_END
 };
 
+/**
+ * @brief Writes the specified amount of bytes from a buffer to the
+ * current temporary file.
+ * @param[in] data pointer to buffer of data to write
+ * @param[in] size amount of bytes to write
+ * \p size bytes to temporary file, from the buffer pointed to
+ * byte
+ * @return amount of bytes successfully written
+ */
 int32_t write(uint8_t *data, int32_t size);
-/* seeks current position to @pos, from @whence, returns current position from
- * start of file */
+
+/**
+ * @brief Changes the current file position to the specified one.
+ * @sa SEEK_SET, SEEK_CUR, SEEK_END
+ * @param[in] pos offset (absolute or relative depending on \p whence param)
+ * @param[in] whence one of \p SEEK_SET, \p SEEK_CUR, \p SEEK_END
+ * @return absolute position in file
+ */
 int32_t seek(int32_t pos, uint32_t whence);
 
-/* Set the name of the virus we have found */
+/**
+ * Sets the name of the virus found.
+ *
+ * @param[in] name the name of the virus
+ * @param[in] len length of the virusname
+ * @return 0
+ */
 uint32_t setvirusname(const uint8_t *name, uint32_t len);
 
+/**
+ * Prints a debug message.
+ *
+ * @param[in] str Message to print
+ * @param[in] len length of message to print
+ * @return 0
+ */
 uint32_t debug_print_str(const uint8_t *str, uint32_t len);
+
+/**
+ * Prints a number as a debug message.
+ *
+ * @param[in] a number to print
+ * @param b unused
+ * @return 0
+ */
 uint32_t debug_print_uint(uint32_t a, uint32_t b);
 
-// disassembles at current file position, use lseek to disasm someplace else
-uint32_t disasm_x86(struct DISASM_RESULT*, uint32_t len);
+/**
+ * Disassembles starting from current file position, the specified amount of
+ * bytes.
+ *  @param[out] result pointer to struct holding result
+ *  @param[in] len how many bytes to disassemble
+ *  @return 0 for success
+ *
+ * You can use lseek to disassemble starting from a different location.
+ * This is a low-level API, the result is in ClamAV type-8 signature format 
+ * (64 bytes/instruction).
+ *  \sa DisassembleAt
+ * */
+uint32_t disasm_x86(struct DISASM_RESULT* result, uint32_t len);
 #endif
 #endif
diff --git a/libclamav/bytecode_api_decl.c b/libclamav/bytecode_api_decl.c
index b6ab686..81806d3 100644
--- a/libclamav/bytecode_api_decl.c
+++ b/libclamav/bytecode_api_decl.c
@@ -38,12 +38,12 @@ uint32_t cli_bcapi_disasm_x86(struct cli_bc_ctx *ctx, struct DISASM_RESULT*, uin
 
 const struct cli_apiglobal cli_globals[] = {
 /* Bytecode globals BEGIN */
+	{"__clambc_kind", GLOBAL_KIND, 16,
+	 ((char*)&((struct cli_bc_ctx*)0)->hooks.kind - (char*)NULL)},
 	{"__clambc_match_counts", GLOBAL_MATCH_COUNTS, 82,
 	 ((char*)&((struct cli_bc_ctx*)0)->hooks.match_counts - (char*)NULL)},
 	{"__clambc_exeinfo", GLOBAL_EXEINFO, 79,
 	 ((char*)&((struct cli_bc_ctx*)0)->hooks.exeinfo - (char*)NULL)},
-	{"__clambc_kind", GLOBAL_KIND, 16,
-	 ((char*)&((struct cli_bc_ctx*)0)->hooks.kind - (char*)NULL)},
 	{"__clambc_pedata", GLOBAL_PEDATA, 69,
 	 ((char*)&((struct cli_bc_ctx*)0)->hooks.pedata - (char*)NULL)}
 /* Bytecode globals END */
diff --git a/libclamav/bytecode_hooks.h b/libclamav/bytecode_hooks.h
index a0edad6..3c8cb75 100644
--- a/libclamav/bytecode_hooks.h
+++ b/libclamav/bytecode_hooks.h
@@ -23,9 +23,9 @@
 #define BYTECODE_HOOKS_H
 
 struct cli_bc_hooks {
+	 const uint16_t* kind;
 	 const uint32_t* match_counts;
 	 const struct cli_exe_info* exeinfo;
-	 const uint16_t* kind;
 	 const struct cli_pe_hook_data* pedata;
 };
 #endif
diff --git a/libclamav/execs.h b/libclamav/execs.h
index 697e138..7a90b44 100644
--- a/libclamav/execs.h
+++ b/libclamav/execs.h
@@ -24,23 +24,30 @@
 #include "cltypes.h"
 #include "bcfeatures.h"
 #include <sys/types.h>
-
+/** @file */
+/** Section of executable file */
 struct cli_exe_section {
-    uint32_t rva;
-    uint32_t vsz;
-    uint32_t raw;
-    uint32_t rsz;
-    uint32_t chr;
-    uint32_t urva; /* PE - unaligned VirtualAddress */
-    uint32_t uvsz; /* PE - unaligned VirtualSize */
-    uint32_t uraw; /* PE - unaligned PointerToRawData */
-    uint32_t ursz; /* PE - unaligned SizeOfRawData */
+    uint32_t rva;/**< Relative VirtualAddress */
+    uint32_t vsz;/**< VirtualSize */
+    uint32_t raw;/**< Raw offset (in file) */
+    uint32_t rsz;/**< Raw size (in file) */
+    uint32_t chr;/**< Section characteristics */
+    uint32_t urva; /**< PE - unaligned VirtualAddress */
+    uint32_t uvsz; /**< PE - unaligned VirtualSize */
+    uint32_t uraw; /**< PE - unaligned PointerToRawData */
+    uint32_t ursz; /**< PE - unaligned SizeOfRawData */
 };
 
+/** Executable file information */
 struct cli_exe_info {
+    /** Information about all the sections of this file. 
+     * This array has \p nsection elements */
     struct cli_exe_section *section EBOUNDS(nsections);
+    /** Offset where this executable start in file (nonzero if embedded) */
     uint32_t offset;
+    /** Entrypoint of executable */
     uint32_t ep;
+    /** Number of sections*/
     uint16_t nsections;
 };
 
diff --git a/libclamav/pe.h b/libclamav/pe.h
index 35cab9e..993c97c 100644
--- a/libclamav/pe.h
+++ b/libclamav/pe.h
@@ -25,46 +25,49 @@
 #include "execs.h"
 #include "others.h"
 #include "cltypes.h"
-
+/** @file */
+/** Header for this PE file */
 struct pe_image_file_hdr {
-    uint32_t Magic;
-    uint16_t Machine;
-    uint16_t NumberOfSections;
-    uint32_t TimeDateStamp;		    /* unreliable */
-    uint32_t PointerToSymbolTable;	    /* debug */
-    uint32_t NumberOfSymbols;		    /* debug */
-    uint16_t SizeOfOptionalHeader;	    /* == 224 */
+    uint32_t Magic;  /**< PE magic header: PE\\0\\0 */
+    uint16_t Machine;/**< CPU this executable runs on, see libclamav/pe.c for possible values */
+    uint16_t NumberOfSections;/**< Number of sections in this executable */
+    uint32_t TimeDateStamp;   /**< Unreliable */
+    uint32_t PointerToSymbolTable;	    /**< debug */
+    uint32_t NumberOfSymbols;		    /**< debug */
+    uint16_t SizeOfOptionalHeader;	    /**< == 224 */
     uint16_t Characteristics;
 };
 
+/** PE data directory header */
 struct pe_image_data_dir {
     uint32_t VirtualAddress;
     uint32_t Size;
 };
 
+/** 32-bit PE optional header */
 struct pe_image_optional_hdr32 {
     uint16_t Magic;
-    uint8_t  MajorLinkerVersion;		    /* unreliable */
-    uint8_t  MinorLinkerVersion;		    /* unreliable */
-    uint32_t SizeOfCode;			    /* unreliable */
-    uint32_t SizeOfInitializedData;		    /* unreliable */
-    uint32_t SizeOfUninitializedData;		    /* unreliable */
+    uint8_t  MajorLinkerVersion;		    /**< unreliable */
+    uint8_t  MinorLinkerVersion;		    /**< unreliable */
+    uint32_t SizeOfCode;			    /**< unreliable */
+    uint32_t SizeOfInitializedData;		    /**< unreliable */
+    uint32_t SizeOfUninitializedData;		    /**< unreliable */
     uint32_t AddressOfEntryPoint;
     uint32_t BaseOfCode;
     uint32_t BaseOfData;
-    uint32_t ImageBase;				    /* multiple of 64 KB */
-    uint32_t SectionAlignment;			    /* usually 32 or 4096 */
-    uint32_t FileAlignment;			    /* usually 32 or 512 */
-    uint16_t MajorOperatingSystemVersion;	    /* not used */
-    uint16_t MinorOperatingSystemVersion;	    /* not used */
-    uint16_t MajorImageVersion;			    /* unreliable */
-    uint16_t MinorImageVersion;			    /* unreliable */
+    uint32_t ImageBase;				    /**< multiple of 64 KB */
+    uint32_t SectionAlignment;			    /**< usually 32 or 4096 */
+    uint32_t FileAlignment;			    /**< usually 32 or 512 */
+    uint16_t MajorOperatingSystemVersion;	    /**< not used */
+    uint16_t MinorOperatingSystemVersion;	    /**< not used */
+    uint16_t MajorImageVersion;			    /** unreliable */
+    uint16_t MinorImageVersion;			    /** unreliable */
     uint16_t MajorSubsystemVersion;
     uint16_t MinorSubsystemVersion;
     uint32_t Win32VersionValue;			    /* ? */
     uint32_t SizeOfImage;
     uint32_t SizeOfHeaders;
-    uint32_t CheckSum;				    /* NT drivers only */
+    uint32_t CheckSum;				    /**< NT drivers only */
     uint16_t Subsystem;
     uint16_t DllCharacteristics;
     uint32_t SizeOfStackReserve;
@@ -72,32 +75,33 @@ struct pe_image_optional_hdr32 {
     uint32_t SizeOfHeapReserve;
     uint32_t SizeOfHeapCommit;
     uint32_t LoaderFlags;			    /* ? */
-    uint32_t NumberOfRvaAndSizes;		    /* unreliable */
+    uint32_t NumberOfRvaAndSizes;		    /**< unreliable */
     struct pe_image_data_dir DataDirectory[16];
 };
 
+/** PE 64-bit optional header */
 struct pe_image_optional_hdr64 {
     uint16_t Magic;
-    uint8_t  MajorLinkerVersion;		    /* unreliable */
-    uint8_t  MinorLinkerVersion;		    /* unreliable */
-    uint32_t SizeOfCode;			    /* unreliable */
-    uint32_t SizeOfInitializedData;		    /* unreliable */
-    uint32_t SizeOfUninitializedData;		    /* unreliable */
+    uint8_t  MajorLinkerVersion;		    /**< unreliable */
+    uint8_t  MinorLinkerVersion;		    /**< unreliable */
+    uint32_t SizeOfCode;			    /**< unreliable */
+    uint32_t SizeOfInitializedData;		    /**< unreliable */
+    uint32_t SizeOfUninitializedData;		    /**< unreliable */
     uint32_t AddressOfEntryPoint;
     uint32_t BaseOfCode;
-    uint64_t ImageBase;				    /* multiple of 64 KB */
-    uint32_t SectionAlignment;			    /* usually 32 or 4096 */
-    uint32_t FileAlignment;			    /* usually 32 or 512 */
-    uint16_t MajorOperatingSystemVersion;	    /* not used */
-    uint16_t MinorOperatingSystemVersion;	    /* not used */
-    uint16_t MajorImageVersion;			    /* unreliable */
-    uint16_t MinorImageVersion;			    /* unreliable */
+    uint64_t ImageBase;				    /**< multiple of 64 KB */
+    uint32_t SectionAlignment;			    /**< usually 32 or 4096 */
+    uint32_t FileAlignment;			    /**< usually 32 or 512 */
+    uint16_t MajorOperatingSystemVersion;	    /**< not used */
+    uint16_t MinorOperatingSystemVersion;	    /**< not used */
+    uint16_t MajorImageVersion;			    /**< unreliable */
+    uint16_t MinorImageVersion;			    /**< unreliable */
     uint16_t MajorSubsystemVersion;
     uint16_t MinorSubsystemVersion;
     uint32_t Win32VersionValue;			    /* ? */
     uint32_t SizeOfImage;
     uint32_t SizeOfHeaders;
-    uint32_t CheckSum;				    /* NT drivers only */
+    uint32_t CheckSum;				    /**< NT drivers only */
     uint16_t Subsystem;
     uint16_t DllCharacteristics;
     uint64_t SizeOfStackReserve;
@@ -105,12 +109,13 @@ struct pe_image_optional_hdr64 {
     uint64_t SizeOfHeapReserve;
     uint64_t SizeOfHeapCommit;
     uint32_t LoaderFlags;			    /* ? */
-    uint32_t NumberOfRvaAndSizes;		    /* unreliable */
+    uint32_t NumberOfRvaAndSizes;		    /**< unreliable */
     struct pe_image_data_dir DataDirectory[16];
 };
 
+/** PE section header */
 struct pe_image_section_hdr {
-    uint8_t Name[8];			    /* may not end with NULL */
+    uint8_t Name[8];			    /**< may not end with NULL */
     /*
     union {
 	uint32_t PhysicalAddress;
@@ -119,23 +124,24 @@ struct pe_image_section_hdr {
     */
     uint32_t VirtualSize;
     uint32_t VirtualAddress;
-    uint32_t SizeOfRawData;		    /* multiple of FileAlignment */
-    uint32_t PointerToRawData;		    /* offset to the section's data */
-    uint32_t PointerToRelocations;	    /* object files only */
-    uint32_t PointerToLinenumbers;	    /* object files only */
-    uint16_t NumberOfRelocations;	    /* object files only */
-    uint16_t NumberOfLinenumbers;	    /* object files only */
+    uint32_t SizeOfRawData;		    /**< multiple of FileAlignment */
+    uint32_t PointerToRawData;		    /**< offset to the section's data */
+    uint32_t PointerToRelocations;	    /**< object files only */
+    uint32_t PointerToLinenumbers;	    /**< object files only */
+    uint16_t NumberOfRelocations;	    /**< object files only */
+    uint16_t NumberOfLinenumbers;	    /**< object files only */
     uint32_t Characteristics;
 };
 
+/** Data for the bytecode PE hook */
 struct cli_pe_hook_data {
     struct cli_exe_info exe_info;
     struct pe_image_file_hdr *file_hdr;
     struct pe_image_optional_hdr32 *opt32;
     struct pe_image_optional_hdr64 *opt64;
     struct pe_image_data_dir *dirs;
-    uint32_t overlays;
-    int32_t overlays_sz;
+    uint32_t overlays;/**< number of overlays */
+    int32_t overlays_sz;/**< size of overlays */
 };
 
 int cli_scanpe(int desc, cli_ctx *ctx);
diff --git a/unit_tests/input/apicalls.cbc b/unit_tests/input/apicalls.cbc
index 999a094..52d1cfb 100644
--- a/unit_tests/input/apicalls.cbc
+++ b/unit_tests/input/apicalls.cbc
@@ -1,17 +1,19 @@
-ClamBCaa`|``````|`ahafp`clamcoincidencejb
+ClamBCaa`|``````|`agafp`clamcoincidencejb
 
-Tedaa`ab`badacb`bb`bb`b
-Eabaaabbgd|afdgefcgdgac``
+Tedaa`acb`bb`bb`b
+Eabaaabbfd|afdgefcgdgac``
 G``
-A`b`bLacb`baab`bFadaa
+A`b`bLacb`b`aa`b`b`Fadaa
 Bb`b`abbabHonnkm``odHm``oonnkdaaaaeab`b`Hhgfedcbadb`baboaaaDm``odDmjnmdTcab`babE
-Aab`bLabahaab`bFacaa
+Aab`bLabah`aa`b`b`Facaa
 Baaaaeaah`Bgaab`baboaaaDm``odDmjnmdTcab`babE
-Aab`bLabb`aaab`bFacaa
+Aab`bLabb`a`aa`b`b`Facaa
 Baaaaeab`a`Dhbgabb`baboaaaDm``odDmjnmdTcab`babE
-Aab`bLabb`baab`bFacaa
+Aab`bLabb`b`aa`b`b`Facaa
 Baaaaeab`b`Fichbgadb`baboaaaDm``odDmjnmdTcab`babE
-Aab`bLabb`daab`bFacaa
+Aab`bLabb`d`aa`b`b`Facaa
 Baaaaeab`d`Ncgbfae`dichbgahb`baboaaaDm``odDmjnmdTcab`babE
-Abb`bLadahb`aaaaaaab`bFaeaa
-Baaabeaah`Bhbaaaaceab`aaaDdcbabaaadk`acabb`baeoaadDm``odDmjnmdTcab`baeE
+Abb`bLacah`b`a`aa`aa`b`b`Fafac
+Baaabeaah`BhbaTaaabaaab
+Baaaceab`aaaDdcbabb`badoaacDm``odDmjnmdTcab`bad
+BTcab`bDmjnmdE
diff --git a/unit_tests/input/apicalls2.cbc b/unit_tests/input/apicalls2.cbc
index 740f97a..5406399 100644
--- a/unit_tests/input/apicalls2.cbc
+++ b/unit_tests/input/apicalls2.cbc
@@ -1,19 +1,21 @@
-ClamBCaa`|``````|`alafp`clamcoincidencejb
+ClamBCaa`|``````|`akafp`clamcoincidencejb
 
-Tedaa`cabkdebkdab`badacb`bbkdb`bacb`bb`bb`bebfd
-Eababaabid|afdgefcgdg`c``abbjd|afdgefcgdgac``
+Tedaa`cabjdebjdacb`bbjdb`bacb`bb`bb`bebfd
+Eababaabhd|afdgefcgdg`c``abbid|afdgefcgdgac``
 G``
-A`b`bLahbfdbgd`b`baab`baab`bFajac
+A`b`bLahbfdabgd```b`b`aa`b`b`aa`b`b`Fajac
 Bbgdaadb`@d at d``bb``b`bacabbabHonnkm``odHm``oonnkdaaadeab`bacHhgfedcbadTaaadaaab
 Bb`baeabbaa`Honnkmjnmdaaafeab`baeHhgfedcbadb`bagoaafDm``odDmjnmdTcab`bag
 BTcab`bDmjnmdE
-Aab`bLabahaab`bFacaa
+Aab`bLabah`aa`b`b`Facaa
 Baaaaeaah`Bgaab`baboaaaDm``odDmjnmdTcab`babE
-Aab`bLabb`aaab`bFacaa
+Aab`bLabb`a`aa`b`b`Facaa
 Baaaaeab`a`Dhbgabb`baboaaaDm``odDmjnmdTcab`babE
-Aab`bLabb`baab`bFacaa
+Aab`bLabb`b`aa`b`b`Facaa
 Baaaaeab`b`Fichbgadb`baboaaaDm``odDmjnmdTcab`babE
-Aab`bLabb`daab`bFacaa
+Aab`bLabb`d`aa`b`b`Facaa
 Baaaaeab`d`Ncgbfae`dichbgahb`baboaaaDm``odDmjnmdTcab`babE
-Abb`bLadahb`aaaaaaab`bFaeaa
-Baaabeaah`Bhbaaaaceab`aaaDdcbabaaadk`acabb`baeoaadDm``odDmjnmdTcab`baeE
+Abb`bLacah`b`a`aa`aa`b`b`Fafac
+Baaabeaah`BhbaTaaabaaab
+Baaaceab`aaaDdcbabb`badoaacDm``odDmjnmdTcab`bad
+BTcab`bDmjnmdE
diff --git a/unit_tests/input/arith.cbc b/unit_tests/input/arith.cbc
index e2865a3..b274a27 100644
--- a/unit_tests/input/arith.cbc
+++ b/unit_tests/input/arith.cbc
@@ -1,99 +1,99 @@
-ClamBCaa`|``````|`agbbep`clamcoincidencejb
+ClamBCaa`|``````|`afbbep`clamcoincidencejb
 
-Tedaa`ab`bad
+Tedaa`
 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
+A`b`bLbabb`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`Fbbbaa
 Bb`b``b`bnbb`baa`b`blcb`bab`b`bdcb`bac`b`bncb`bad`b`bgcb`bae`b`bfcb`baf`b`bkcb`bag`b`bccb`bah`b`b`cb`bai`b`bobb`baj`b`becb`bak`b`bocb`bal`b`bjcb`bam`b`b`db`ban`b`bmcb`bao`b`bacb`bb`a`b`bhcb`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
-Abb`aLaab`ab`ab`aFabaa
+Abb`aLaab`a`b`a`b`a`Fabaa
 Bb`aaba`aa`Tcab`aabE
-Abb`bLaab`bb`bb`bFabaa
+Abb`bLaab`b`b`b`b`b`Fabaa
 Bb`baba`aa`Tcab`babE
-Abb`dLaab`db`db`dFabaa
+Abb`dLaab`d`b`d`b`d`Fabaa
 Bb`daba`aa`Tcab`dabE
-AbahLaaahahahFabaa
+AbahLaaah`ah`ah`Fabaa
 Bahaba`aa`TcaahabE
-Abb`aLaab`ab`ab`aFabaa
+Abb`aLaab`a`b`a`b`a`Fabaa
 Bb`aabk`aa`Tcab`aabE
-Abb`bLaab`bb`bb`bFabaa
+Abb`bLaab`b`b`b`b`b`Fabaa
 Bb`babk`aa`Tcab`babE
-Abb`dLaab`db`db`dFabaa
+Abb`dLaab`d`b`d`b`d`Fabaa
 Bb`dabk`aa`Tcab`dabE
-AbahLaaahahahFabaa
+AbahLaaah`ah`ah`Fabaa
 Bahabk`aa`TcaahabE
-Abb`aLadb`ab`ab`bb`bb`bb`aFaeaa
+Abb`aLadb`a`b`a`b`b`b`b`b`b`b`a`Faeaa
 Bb`babo``b`baco`aab`badj`abacb`aaen`adTcab`aaeE
-Abb`bLaab`bb`bb`bFabaa
+Abb`bLaab`b`b`b`b`b`Fabaa
 Bb`babj``aaTcab`babE
-Abb`dLaab`db`db`dFabaa
+Abb`dLaab`d`b`d`b`d`Fabaa
 Bb`dabj``aaTcab`dabE
-AbahLadahahb`bb`bb`bahFaeaa
+AbahLadah`ah`b`b`b`b`b`b`ah`Faeaa
 Bb`babo``b`baco`aab`badj`abacahaen`adTcaahaeE
-Aab`bLaab`bb`bFabaa
+Aab`bLaab`b`b`b`Fabaa
 Bb`baae`Aad`Tcab`baaE
-Abb`aLacb`ab`bb`bb`bb`aFadaa
+Abb`aLacb`a`b`b`b`b`b`b`b`a`Fadaa
 Bb`bab`a`b`baci`abaab`aadn`acTcab`aadE
-Abb`bLaab`bb`bb`bFabaa
+Abb`bLaab`b`b`b`b`b`Fabaa
 Bb`babi``aaTcab`babE
-Abb`dLabb`db`bb`db`dFacaa
+Abb`dLabb`d`b`b`b`d`b`d`Facaa
 Bb`dab`aaab`daci``abTcab`dacE
-AbahLacahb`bb`bb`bahFadaa
+AbahLacah`b`b`b`b`b`b`ah`Fadaa
 Bb`bab`a`b`baci`abaaahadn`acTcaahadE
-Abb`aLaab`ab`ab`aFabaa
+Abb`aLaab`a`b`a`b`a`Fabaa
 Bb`aabc`aa`Tcab`aabE
-Abb`bLaab`bb`bb`bFabaa
+Abb`bLaab`b`b`b`b`b`Fabaa
 Bb`babc`aa`Tcab`babE
-Abb`dLaab`db`db`dFabaa
+Abb`dLaab`d`b`d`b`d`Fabaa
 Bb`dabc`aa`Tcab`dabE
-AbahLaaahahahFabaa
+AbahLaaah`ah`ah`Fabaa
 Bahabc`aa`TcaahabE
-Abb`aLaab`ab`ab`aFabaa
+Abb`aLaab`a`b`a`b`a`Fabaa
 Bb`aabl`aa`Tcab`aabE
-Abb`bLaab`bb`bb`bFabaa
+Abb`bLaab`b`b`b`b`b`Fabaa
 Bb`babl`aa`Tcab`babE
-Abb`dLaab`db`db`dFabaa
+Abb`dLaab`d`b`d`b`d`Fabaa
 Bb`dabl`aa`Tcab`dabE
-AbahLaaahahahFabaa
+AbahLaaah`ah`ah`Fabaa
 Bahabl`aa`TcaahabE
-Abb`aLadb`ab`ab`bb`bb`bb`aFaeaa
+Abb`aLadb`a`b`a`b`b`b`b`b`b`b`a`Faeaa
 Bb`babo``b`baco`aab`bade`abacb`aaen`adTcab`aaeE
-Abb`bLaab`bb`bb`bFabaa
+Abb`bLaab`b`b`b`b`b`Fabaa
 Bb`babe``aaTcab`babE
-Abb`dLaab`db`db`dFabaa
+Abb`dLaab`d`b`d`b`d`Fabaa
 Bb`dabe``aaTcab`dabE
-AbahLadahahb`bb`bb`bahFaeaa
+AbahLadah`ah`b`b`b`b`b`b`ah`Faeaa
 Bb`babo``b`baco`aab`bade`abacahaen`adTcaahaeE
-Aab`bLaab`ab`bFabaa
+Aab`bLaab`a`b`b`Fabaa
 Bb`baao``Tcab`baaE
-Aab`dLaab`bb`dFabaa
+Aab`dLaab`b`b`d`Fabaa
 Bb`daao``Tcab`daaE
-Aab`aLaaahb`aFabaa
+Aab`aLaaah`b`a`Fabaa
 Bb`aaao``Tcab`aaaE
-Abb`aLacb`ab`bb`bb`bb`aFadaa
+Abb`aLacb`a`b`b`b`b`b`b`b`a`Fadaa
 Bb`babo``b`bach`abaab`aadn`acTcab`aadE
-Abb`bLaab`bb`bb`bFabaa
+Abb`bLaab`b`b`b`b`b`Fabaa
 Bb`babh``aaTcab`babE
-Abb`dLabb`db`bb`db`dFacaa
+Abb`dLabb`d`b`b`b`d`b`d`Facaa
 Bb`dab`aaab`dach``abTcab`dacE
-AbahLacahb`bb`bb`bahFadaa
+AbahLacah`b`b`b`b`b`b`ah`Fadaa
 Bb`babo``b`bach`abaaahadn`acTcaahadE
-Abb`aLadb`ab`ab`bb`bb`bb`aFaeaa
+Abb`aLadb`a`b`a`b`b`b`b`b`b`b`a`Faeaa
 Bb`babo``b`baco`aab`badg`abacb`aaen`adTcab`aaeE
-Abb`bLaab`bb`bb`bFabaa
+Abb`bLaab`b`b`b`b`b`Fabaa
 Bb`babg``aaTcab`babE
-Abb`dLaab`db`db`dFabaa
+Abb`dLaab`d`b`d`b`d`Fabaa
 Bb`dabg``aaTcab`dabE
-AbahLadahahb`bb`bb`bahFaeaa
+AbahLadah`ah`b`b`b`b`b`b`ah`Faeaa
 Bb`babo``b`baco`aab`badg`abacahaen`adTcaahaeE
-Abb`aLaab`ab`ab`aFabaa
+Abb`aLaab`a`b`a`b`a`Fabaa
 Bb`aabb``aaTcab`aabE
-Abb`bLaab`bb`bb`bFabaa
+Abb`bLaab`b`b`b`b`b`Fabaa
 Bb`babb``aaTcab`babE
-Abb`dLaab`db`db`dFabaa
+Abb`dLaab`d`b`d`b`d`Fabaa
 Bb`dabb``aaTcab`dabE
-AbahLaaahahahFabaa
+AbahLaaah`ah`ah`Fabaa
 Bahabb``aaTcaahabE
-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
+A`b`bLb`cah`aa`b`b`ah`aa`b`b`ah`aa`b`b`ah`aa`b`b`b`a`aa`b`b`b`a`aa`b`b`b`a`aa`b`b`b`a`aa`b`b`b`b`aa`b`b`b`b`aa`b`b`b`b`aa`b`b`b`b`aa`b`b`b`d`aa`b`b`b`d`aa`b`b`b`d`aa`b`b`b`d`aa`b`b`Fbaebab
 Bah``bbaeAaaAaaaaaaeaah`AbaTaaaaabaa
 Bb`bab`baan at dTcab`bab
 Bahac`bbaeAaaBooaaaadeaahac at aTaaadadac
@@ -127,7 +127,7 @@ Bb`bblb`baan at dTcab`bblb
 Bb`dbmb`bbadPoooooooooooooooohAahaabnbeab`dbmb at hTaabnbb`bboa
 Bb`bbob`baan at dTcab`bbob
 BTcab`bAadE
-A`b`bLalahaab`bb`aaab`bb`baab`bb`daab`bFbeaai
+A`b`bLalah`aa`b`b`b`a`aa`b`b`b`b`aa`b`b`b`d`aa`b`b`Fbeaai
 Bah``bbaiBjeaAoaaaaaeaah`AjaTaaaaabaa
 Bb`bab`baan at dTcab`bab
 Bb`aac`bbafDlkjebD```obaaadeab`aacD```ebTaaadadac
@@ -137,13 +137,13 @@ Bb`bah`baan at dTcab`bah
 Bb`dai`bbahPdcbahgfedcbalkjehG``````ohaaajeab`daiG``````fhTaaajahag
 Bb`bak`baan at dTcab`bak
 BTcab`bE````ddE
-A`b`bLafahaab`bahaab`bFakae
+A`b`bLafah`aa`b`b`ah`aa`b`b`Fakae
 Bah``bbamBnoaAaaaaaaeaah`BooaTaaaaabaa
 Bb`bab`baan at dTcab`bab
 Bahac`bbamBngaAaaaaadeaahacBocaTaaadadac
 Bb`bae`baan at dTcab`bae
 BTcab`bE````adE
-A`b`bLaob`baab`bb`baab`bb`baab`bb`baab`bb`baab`bFbjaak
+A`b`bLaob`b`aa`b`b`b`b`aa`b`b`b`b`aa`b`b`b`b`aa`b`b`b`b`aa`b`b`Fbjaak
 Bb`b``bdbbcHoooooooodAbd at dAddaaaaeab`b`CijbdTaaaaabaa
 Bb`bab`baan at dTcab`bab
 Bb`bac`bdbbcHoooooooodHoooooooodAadHoooooooodaaadeab`bacCbbcdTaaadadac
@@ -155,15 +155,15 @@ Bb`bak`baan at dTcab`bak
 Bb`bal`bdbbcHooooooood at d@dHoooooooodaaameab`balBkbdTaaamajai
 Bb`ban`baan at dTcab`ban
 BTcab`bH```````ddE
-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
+Adb`bLbmab`b`b`b`b`b`b`b`aa`b`b`aa`b`b`b`b`aa`b`b`b`b`aa`b`b`b`b`aa`b`b`b`b`aa`b`b`b`b`aa`b`b`b`b`aa`b`b`b`b`aa`b`b`b`b`aa`b`b`b`b`Fbnaaa
 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
-A`b`bLagahaab`bahahaab`bFalae
+A`b`bLagah`aa`b`b`ah`ah`aa`b`b`Falae
 Bah``bbbbaBnoaAadaaaaeaah`BogaTaaaaabaa
 Bb`bab`baan at dTcab`bab
 Bahac`bbaeBnoaAeaahad`bbbbaacAadaaaeeaahadAaaTaaaeadac
 Bb`baf`baan at dTcab`baf
 BTcab`bD```ddE
-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
+A`b`bLb`cah`aa`b`b`ah`aa`b`b`ah`aa`b`b`ah`aa`b`b`b`a`aa`b`b`b`a`aa`b`b`b`a`aa`b`b`b`a`aa`b`b`b`b`aa`b`b`b`b`aa`b`b`b`b`aa`b`b`b`b`aa`b`b`b`d`aa`b`b`b`d`aa`b`b`b`d`aa`b`b`b`d`aa`b`b`Fbaebab
 Bah``bbbfaBooaAaaaaaaeaah`BooaTaaaaabaa
 Bb`bab`baan at dTcab`bab
 Bahac`bbbfaBooaBooaaaadeaahacAaaTaaadadac
@@ -197,7 +197,7 @@ Bb`bblb`baan at dTcab`bblb
 Bb`dbmb`bbbeaImaghnanbdhIogjdckg`bhaabnbeab`dbmbPcfifjghokjjemflghTaabnbb`bboa
 Bb`bbob`baan at dTcab`bbob
 BTcab`bB`adE
-A`b`bLalahaab`bb`aaab`bb`baab`bb`daab`bFbeaai
+A`b`bLalah`aa`b`b`b`a`aa`b`b`b`b`aa`b`b`b`d`aa`b`b`Fbeaai
 Bah``bbbjaBjeaAoaaaaaeaah`BoeaTaaaaabaa
 Bb`bab`baan at dTcab`bab
 Bb`aac`bbbgaDlkjebD```obaaadeab`aacDlkjobTaaadadac
@@ -207,7 +207,7 @@ Bb`bah`baan at dTcab`bah
 Bb`dai`bbbiaPdcbahgfedcbalkjehG``````ohaaajeab`daiPdcbahgoedcbalkjehTaaajahag
 Bb`bak`baan at dTcab`bak
 BTcab`bF`````adE
-A`b`bLaoahaab`bahaab`bahaab`bb`aaab`bb`aaab`bFbjaak
+A`b`bLaoah`aa`b`b`ah`aa`b`b`ah`aa`b`b`b`a`aa`b`b`b`a`aa`b`b`Fbjaak
 Bah``bbbibBooaAaaaaaaeaah`@aTaaaaabaa
 Bb`bab`baan at dTcab`bab
 Bahac`bbbkdBooaAaaaaadeaahac at aTaaadadac
@@ -219,7 +219,7 @@ Bb`bak`baan at dTcab`bak
 Bb`aal`bbbhdDinmobAgbaaameab`aalAfbTaaamajai
 Bb`ban`baan at dTcab`ban
 BTcab`bC``ddE
-A`b`bLbfaahaab`bahaab`bahaab`bahaab`bahahaab`bahaab`bb`aaab`bFbebao
+A`b`bLbfaah`aa`b`b`ah`aa`b`b`ah`aa`b`b`ah`aa`b`b`ah`ah`aa`b`b`ah`aa`b`b`b`a`aa`b`b`Fbebao
 Bah``bbbnaAaaBooaaaaaeaah`BooaTaaaaabaa
 Bb`bab`baan at dTcab`bab
 Bahac`bbbnaBooaAaaaaadeaahacBooaTaaadadac
@@ -235,15 +235,15 @@ Bb`bbba`baan at dTcab`bbba
 Bb`abca`bbbkaDjnmobAgbaabdaeab`abcaDdkoobTaabdaanam
 Bb`bbea`baan at dTcab`bbea
 BTcab`bC``adE
-A`b`bLafb`baab`bb`baab`bFakae
+A`b`bLafb`b`aa`b`b`b`b`aa`b`b`Fakae
 Bb`b``bcbicAddAedAfdaaaaeab`b`AedTaaaaabaa
 Bb`bab`baan at dTcab`bab
 Bb`bac`bcbic at dAedAfdaaadeab`bacAfdTaaadadac
 Bb`bae`baan at dTcab`bae
 BTcab`bH```````hdE
-Acb`bLabb`bb`bb`baab`bFacaa
+Acb`bLabb`b`b`b`b`b`aa`b`b`Facaa
 Baaacfab`b`@db`badoaacaaabTcab`badE
-A`b`bLaib`aaab`bb`baab`bb`daab`bFb`aag
+A`b`bLaib`a`aa`b`b`b`b`aa`b`b`b`d`aa`b`b`Fb`aag
 Bb`a``bababBloaaaaaeab`a`DlooobTaaaaabaa
 Bb`bab`baan at dTcab`bab
 Bb`bac`baboaDjooobaaadeab`bacHjooooooodTaaadadac
@@ -251,7 +251,7 @@ Bb`bae`baan at dTcab`bae
 Bb`daf`bab`bHjooooooodaaageab`dafPjooooooooooooooohTaaagafae
 Bb`bah`baan at dTcab`bah
 BTcab`bG``````adE
-A`b`bLalahaab`bahaab`bahaab`bb`aaab`bFbeaai
+A`b`bLalah`aa`b`b`ah`aa`b`b`ah`aa`b`b`b`a`aa`b`b`Fbeaai
 Bah``bbbebAaaAadaaaaeaah`AbaTaaaaabaa
 Bb`bab`baan at dTcab`bab
 Bahac`bbbebAaa at daaadeaahacAaaTaaadadac
@@ -261,7 +261,7 @@ Bb`bah`baan at dTcab`bah
 Bb`aai`bbbbbDnojobAbdaaajeab`aaiDhoknbTaaajahag
 Bb`bak`baan at dTcab`bak
 BTcab`bD```adE
-A`b`bLbdbahaab`bahaab`bahaab`bb`aaab`bb`aaab`bb`aaab`bb`baab`bb`baab`bb`baab`bb`daab`bb`daab`bb`daab`bFbmcbia
+A`b`bLbdbah`aa`b`b`ah`aa`b`b`ah`aa`b`b`b`a`aa`b`b`b`a`aa`b`b`b`a`aa`b`b`b`b`aa`b`b`b`b`aa`b`b`b`b`aa`b`b`b`d`aa`b`b`b`d`aa`b`b`b`d`aa`b`b`Fbmcbia
 Bah``bbbmbBooaAaaaaaaeaah`BnoaTaaaaabaa
 Bb`bab`baan at dTcab`bab
 Bahac`bbbmbAaaBooaaaadeaahacAbaTaaadadac
@@ -287,7 +287,7 @@ Bb`bb`b`baan at dTcab`bb`b
 Bb`dbab`bbblbAahAahaabbbeab`dbab at hTaabbbbhabga
 Bb`bbcb`baan at dTcab`bbcb
 BTcab`bAddE
-A`b`bLaiahaab`bb`aaab`bb`baab`bFb`aag
+A`b`bLaiah`aa`b`b`b`a`aa`b`b`b`b`aa`b`b`Fb`aag
 Bah``babadDmnnobaaaaeaah`BmnaTaaaaabaa
 Bb`bab`baan at dTcab`bab
 Bb`aac`babbdHmnnomjnmdaaadeab`aacDmnnobTaaadadac
@@ -295,11 +295,11 @@ Bb`bae`baan at dTcab`bae
 Bb`baf`babcdPonnkmnnomjnmonnkhaaageab`bafHonnkmnnodTaaagafae
 Bb`bah`baan at dTcab`bah
 BTcab`bH```````adE
-A`b`bLacb`aaab`bFafac
+A`b`bLacb`a`aa`b`b`Fafac
 Bb`a``bbbddDjnmobAgbaaaaeab`a`DfddbbTaaaaabaa
 Bb`bab`baan at dTcab`bab
 BTcab`bB`ddE
-A`b`bLalahaab`bb`aaab`bb`baab`bb`daab`bFbeaai
+A`b`bLalah`aa`b`b`b`a`aa`b`b`b`b`aa`b`b`b`d`aa`b`b`Fbeaai
 Bah``bbbodBjeaB`oaaaaaeaah`BjjaTaaaaabaa
 Bb`bab`baan at dTcab`bab
 Bb`aac`bbbldDjejebD``oobaaadeab`aacDjeejbTaaadadac
@@ -309,7 +309,7 @@ Bb`bah`baan at dTcab`bah
 Bb`dai`bbbndPjejejejejejejejehP``oooooooooooooohaaajeab`daiPjeejejejejejejejhTaaajahag
 Bb`bak`baan at dTcab`bak
 BTcab`bF`````ddE
-A`b`bLaib`aaab`bb`baab`bb`daab`bFb`aag
+A`b`bLaib`a`aa`b`b`b`b`aa`b`b`b`d`aa`b`b`Fb`aag
 Bb`a``babbeBloaaaaaeab`a`BlobTaaaaabaa
 Bb`bab`baan at dTcab`bab
 Bb`bac`bab`eDlooobaaadeab`bacDlooodTaaadadac
@@ -317,39 +317,39 @@ Bb`bae`baan at dTcab`bae
 Bb`daf`babaeHlooooooodaaageab`dafHlooooooohTaaagafae
 Bb`bah`baan at dTcab`bah
 BTcab`bG``````ddE
-AaahLaab`aahFabaa
+AaahLaab`a`ah`Fabaa
 Bahaan``TcaahaaE
-Aab`aLaab`bb`aFabaa
+Aab`aLaab`b`b`a`Fabaa
 Bb`aaan``Tcab`aaaE
-Aab`bLaab`db`bFabaa
+Aab`bLaab`d`b`b`Fabaa
 Bb`baan``Tcab`baaE
-Abb`aLaab`ab`ab`aFabaa
+Abb`aLaab`a`b`a`b`a`Fabaa
 Bb`aabd``aaTcab`aabE
-Abb`bLaab`bb`bb`bFabaa
+Abb`bLaab`b`b`b`b`b`Fabaa
 Bb`babd``aaTcab`babE
-Abb`dLaab`db`db`dFabaa
+Abb`dLaab`d`b`d`b`d`Fabaa
 Bb`dabd``aaTcab`dabE
-AbahLaaahahahFabaa
+AbahLaaah`ah`ah`Fabaa
 Bahabd``aaTcaahabE
-Abb`aLaab`ab`ab`aFabaa
+Abb`aLaab`a`b`a`b`a`Fabaa
 Bb`aabf``aaTcab`aabE
-Abb`bLaab`bb`bb`bFabaa
+Abb`bLaab`b`b`b`b`b`Fabaa
 Bb`babf``aaTcab`babE
-Abb`dLaab`db`db`dFabaa
+Abb`dLaab`d`b`d`b`d`Fabaa
 Bb`dabf``aaTcab`dabE
-AbahLaaahahahFabaa
+AbahLaaah`ah`ah`Fabaa
 Bahabf``aaTcaahabE
-Abb`aLaab`ab`ab`aFabaa
+Abb`aLaab`a`b`a`b`a`Fabaa
 Bb`aabm`aa`Tcab`aabE
-Abb`bLaab`bb`bb`bFabaa
+Abb`bLaab`b`b`b`b`b`Fabaa
 Bb`babm`aa`Tcab`babE
-Abb`dLaab`db`db`dFabaa
+Abb`dLaab`d`b`d`b`d`Fabaa
 Bb`dabm`aa`Tcab`dabE
-AbahLaaahahahFabaa
+AbahLaaah`ah`ah`Fabaa
 Bahabm`aa`TcaahabE
-Aab`bLaab`ab`bFabaa
+Aab`bLaab`a`b`b`Fabaa
 Bb`baa`a`Tcab`baaE
-Aab`dLaab`bb`dFabaa
+Aab`dLaab`b`b`d`Fabaa
 Bb`daa`a`Tcab`daaE
-Aab`aLaaahb`aFabaa
+Aab`aLaaah`b`a`Fabaa
 Bb`aaa`a`Tcab`aaaE
diff --git a/unit_tests/input/div0.cbc b/unit_tests/input/div0.cbc
index fdab586..d720b7f 100644
--- a/unit_tests/input/div0.cbc
+++ b/unit_tests/input/div0.cbc
@@ -1,9 +1,9 @@
-ClamBCaa`|``````|`agabp`clamcoincidencejb
+ClamBCaa`|``````|`afabp`clamcoincidencejb
 
-Tedaa`ab`bad
+Tedaa`
 E``
 G``
-A`b`bLaab`bFabaa
+A`b`bLaab`b`Fabaa
 Bb`b``baab at dTcab`b`E
-Aab`bLaab`bb`bFabaa
+Aab`bLaab`b`b`b`Fabaa
 Bb`baae`Aad`Tcab`baaE
diff --git a/unit_tests/input/lsig.cbc b/unit_tests/input/lsig.cbc
index 03cefe9..46342cb 100644
--- a/unit_tests/input/lsig.cbc
+++ b/unit_tests/input/lsig.cbc
@@ -1,11 +1,11 @@
-ClamBCaa`|``````|`bkaabp`clamcoincidencejb
+ClamBCaa`|``````|`bjaabp`clamcoincidencejb
 Trojan.Foo.{A,B};Target:0;((0|1|2)=42,2);aabb;ffffffff;aaccee;f00d
-Tedebjeebieebheebgeebfeebeeebceebbeebadebcdaa`ab`badacb`bbadb`bdb`db`bchbadbdebadbdebadbdebadbdecab`bdagahdaiahdaeahdabbaddabahdakah
-Eafaaafbae|amcgefdgfgifbgegcgnfafmfef``
-Gd```hbeabjeBdeBbgBofBjfBafBnfBnbBfdBofBof@`bieBad@`bieBbd@`bhe at Aa@Ab`b`a@`b`aC``a`bgeBafBafBbfBbf@`bfeBffBffBffBffBffBffBffBff@`bgeBffB`cB`cBdf@`beeBafBafBcfBcfBefBef@`bce at Af@@AgAa at AhAc@AiAb`bad at Aa`bad at Ab`bad at Af`bad at Ag`bad at Ah`bad at Ai`bcdAcD```h`bcdAbD```h`bcd at D```h`bcdAaD```h`
-A`b`bLaeb`baaaabadb`bFahac
-Bb`b`gbBaa`aaaaiab`b`AbdTaaaaabaa
+Tedebieebheebgeebfeebeeebdeebbeebaeebadebcdaa`acb`bbadb`bdb`db`bchbadbcebadbcebadbcebadbcecab`bdagahdaiahdaeahdabbaddabahdakah
+Eafaaafb`e|amcgefdgfgifbgegcgnfafmfef``
+Gd```hbeabieBdeBbgBofBjfBafBnfBnbBfdBofBof@`bheBad@`bheBbd@`bge at Aa@Ab`b`a@`b`aC``a`bfeBafBafBbfBbf@`beeBffBffBffBffBffBffBffBff@`bfeBffB`cB`cBdf@`bdeBafBafBcfBcfBefBef@`bbe at Af@@AgAa at AhAc@AiAb`bad at Aa`bad at Ab`bad at Af`bad at Ag`bad at Ah`bad at Ai`bcdAcD```h`bcdAbD```h`bcdAaD```h`bcd at D```h`
+A`b`bLaeb`b`aa`aa`bad`b`b`Fahac
+Bb`b`gbBaa`aaaagab`b`AadTaaaaaaab
 Baaabeab`b`AbdbadacoaabAk`Al`b`badabbafac at dTcab`b at d
 BTcab`b at dE
-A`aaLb`ab`bb`bb`bb`bb`baaaaaaaab`bb`bb`bb`bb`baaaaFbaaaa
-Bb`b`gbBca`b`baagbBda`b`babgbBba`b`baca`aa`b`bada`acabaaaeeab`badBjbdaaaffab`b`@daaagfab`baa at daaahfab`bab at db`bai`aafb`baj`aagb`bak`aahb`bala`ajaib`bama`alakaaaneab`bamAbdaaaok`anaeTcaaaaoE
+A`aaLb`ab`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`Fbaaaa
+Bb`b`gbBda`b`baagbBca`b`babgbBba`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`anaeTcaaaaoE
diff --git a/unit_tests/input/retmagic.cbc b/unit_tests/input/retmagic.cbc
index bb956d2..bc3b8b1 100644
--- a/unit_tests/input/retmagic.cbc
+++ b/unit_tests/input/retmagic.cbc
@@ -1,6 +1,6 @@
-ClamBCaa`|``````|`agaap`clamcoincidencejb
+ClamBCaa`|``````|`afaap`clamcoincidencejb
 
-Tedaa`ab`bad
+Tedaa`
 E``
 G``
 A`b`bL`Faaaa

-- 
Debian repository for ClamAV



More information about the Pkg-clamav-commits mailing list