From 86f1daa027bcf0355aa860bf0a1b2cf7b7ac9da8 Mon Sep 17 00:00:00 2001 From: Tomasz Kojm Date: Sat, 11 Oct 2008 11:31:15 +0000 Subject: [PATCH] freshclam/manager.c: improve the log parser (bb#1225) git-svn: trunk@4249 --- ChangeLog | 4 ++++ freshclam/manager.c | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4de6e6fa9..55dcae4d8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Sat Oct 11 13:50:12 CEST 2008 (tk) +---------------------------------- + * freshclam/manager.c: improve the log parser (bb#1225) + Sat Oct 11 13:17:29 EEST 2008 (edwin) ------------------------------------- * libclamav/phishcheck.c, unit_tests/check_clamscan.sh, diff --git a/freshclam/manager.c b/freshclam/manager.c index 245a0623f..447c220ff 100644 --- a/freshclam/manager.c +++ b/freshclam/manager.c @@ -515,7 +515,7 @@ int submitstats(const char *clamdcfg, const struct cfgstruct *copt) } while((line = readbline(fd, fbuff, FILEBUFF, sb.st_size, &lread))) - if(strstr(line, "FOUND")) + if(strlen(line) >= 32 && !strcmp(&line[strlen(line) - 6], " FOUND")) break; if(!line) { @@ -543,7 +543,7 @@ int submitstats(const char *clamdcfg, const struct cfgstruct *copt) qcnt = 0; entries = 0; do { - if(!strstr(line, " FOUND")) + if(strlen(line) < 32 || strcmp(&line[strlen(line) - 6], " FOUND")) continue; if(*statsdat && !strcmp(line, statsdat)) @@ -565,7 +565,7 @@ int submitstats(const char *clamdcfg, const struct cfgstruct *copt) break; } - pt2 = strstr(pt, " FOUND"); + pt2 = &pt[strlen(pt) - 6]; *pt2 = 0; if(!(pt2 = strrchr(pt, ':'))) {