[Pkg-clamav-commits] [SCM] Debian repository for ClamAV branch, debian/unstable, updated. debian/0.95+dfsg-1-6156-g094ec9b
Tomasz Kojm
tkojm at clamav.net
Sun Apr 4 01:21:39 UTC 2010
The following commit has been merged in the debian/unstable branch:
commit fdabe265785016d222d4b7ec955a7b7e3b86b648
Author: Tomasz Kojm <tkojm at clamav.net>
Date: Thu Mar 4 14:45:32 2010 +0100
libclamav/matcher-bm.c: only sort correct offsets (bb#1840)
diff --git a/ChangeLog b/ChangeLog
index 877684d..0296aa3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Thu Mar 4 14:41:39 CET 2010 (tk)
+---------------------------------
+ * libclamav/matcher-bm.c: only sort correct offsets (bb#1840)
+
Thu Feb 25 17:20:27 CET 2010 (tk)
---------------------------------
* docs: update signatures.pdf
diff --git a/libclamav/matcher-bm.c b/libclamav/matcher-bm.c
index c2f3b7e..ee5011c 100644
--- a/libclamav/matcher-bm.c
+++ b/libclamav/matcher-bm.c
@@ -184,6 +184,8 @@ int cli_bm_initoff(const struct cli_matcher *root, struct cli_bm_off *data, fmap
patt = root->bm_pattab[i];
if(patt->offdata[0] == CLI_OFF_ABSOLUTE) {
data->offtab[data->cnt] = patt->offset_min + patt->prefix_length;
+ if(data->offtab[data->cnt] >= map->len)
+ continue;
data->cnt++;
} else if((ret = cli_caloff(NULL, &info, map, root->type, patt->offdata, &data->offset[patt->offset_min], NULL))) {
cli_errmsg("cli_bm_initoff: Can't calculate relative offset in signature for %s\n", patt->virname);
@@ -195,6 +197,8 @@ int cli_bm_initoff(const struct cli_matcher *root, struct cli_bm_off *data, fmap
} else if((data->offset[patt->offset_min] != CLI_OFF_NONE) && (data->offset[patt->offset_min] + patt->length <= info.fsize)) {
if(!data->cnt || (data->offset[patt->offset_min] != data->offtab[data->cnt - 1])) {
data->offtab[data->cnt] = data->offset[patt->offset_min] + patt->prefix_length;
+ if(data->offtab[data->cnt] >= map->len)
+ continue;
data->cnt++;
}
}
--
Debian repository for ClamAV
More information about the Pkg-clamav-commits
mailing list