diff --git a/ChangeLog b/ChangeLog index e500f86dc..04d0c6992 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Tue Sep 29 21:40:29 CEST 2009 (tk) +---------------------------------- + * libclamav/matcher-ac.c: fix matching of logical sigs (bb#1707) + Reported by Thiyaga + Mon Sep 28 21:41:47 CEST 2009 (tk) ---------------------------------- * libclamav/readdb.c: fix handling of broken .ldb sigs (bb#1701) diff --git a/libclamav/matcher-ac.c b/libclamav/matcher-ac.c index ed706939e..f1a253716 100644 --- a/libclamav/matcher-ac.c +++ b/libclamav/matcher-ac.c @@ -1171,7 +1171,7 @@ int cli_ac_scanbuff(const unsigned char *buffer, uint32_t length, const char **v } else { /* !pt->type */ if(pt->lsigid[0]) { mdata->lsigcnt[pt->lsigid[1]][pt->lsigid[2]]++; - pt = pt->next; + pt = pt->next_same; continue; } @@ -1184,7 +1184,7 @@ int cli_ac_scanbuff(const unsigned char *buffer, uint32_t length, const char **v newres->next = *res; *res = newres; - pt = pt->next; + pt = pt->next_same; continue; } else { if(virname) @@ -1213,7 +1213,7 @@ int cli_ac_scanbuff(const unsigned char *buffer, uint32_t length, const char **v } else { if(pt->lsigid[0]) { mdata->lsigcnt[pt->lsigid[1]][pt->lsigid[2]]++; - pt = pt->next; + pt = pt->next_same; continue; } @@ -1226,7 +1226,7 @@ int cli_ac_scanbuff(const unsigned char *buffer, uint32_t length, const char **v newres->next = *res; *res = newres; - pt = pt->next; + pt = pt->next_same; continue; } else { if(virname) diff --git a/libclamav/others.h b/libclamav/others.h index 0661ae671..9cef29e9a 100644 --- a/libclamav/others.h +++ b/libclamav/others.h @@ -50,7 +50,7 @@ * in re-enabling affected modules. */ -#define CL_FLEVEL 48 +#define CL_FLEVEL 49 #define CL_FLEVEL_DCONF CL_FLEVEL extern uint8_t cli_debug_flag;