Browse code

freshclam/manager.c: improve the log parser (bb#1225)

git-svn: trunk@4249

Tomasz Kojm authored on 2008/10/11 20:31:15
Showing 2 changed files
... ...
@@ -1,3 +1,7 @@
1
+Sat Oct 11 13:50:12 CEST 2008 (tk)
2
+----------------------------------
3
+  * freshclam/manager.c: improve the log parser (bb#1225)
4
+
1 5
 Sat Oct 11 13:17:29 EEST 2008 (edwin)
2 6
 -------------------------------------
3 7
  * libclamav/phishcheck.c, unit_tests/check_clamscan.sh,
... ...
@@ -515,7 +515,7 @@ int submitstats(const char *clamdcfg, const struct cfgstruct *copt)
515 515
     }
516 516
 
517 517
     while((line = readbline(fd, fbuff, FILEBUFF, sb.st_size, &lread)))
518
-	if(strstr(line, "FOUND"))
518
+	if(strlen(line) >= 32 && !strcmp(&line[strlen(line) - 6], " FOUND"))
519 519
 	    break;
520 520
 
521 521
     if(!line) {
... ...
@@ -543,7 +543,7 @@ int submitstats(const char *clamdcfg, const struct cfgstruct *copt)
543 543
     qcnt = 0;
544 544
     entries = 0;
545 545
     do {
546
-	if(!strstr(line, " FOUND"))
546
+	if(strlen(line) < 32 || strcmp(&line[strlen(line) - 6], " FOUND"))
547 547
 	    continue;
548 548
 
549 549
 	if(*statsdat && !strcmp(line, statsdat))
... ...
@@ -565,7 +565,7 @@ int submitstats(const char *clamdcfg, const struct cfgstruct *copt)
565 565
 	    break;
566 566
 	}
567 567
 
568
-	pt2 = strstr(pt, " FOUND");
568
+	pt2 = &pt[strlen(pt) - 6];
569 569
 	*pt2 = 0;
570 570
 
571 571
 	if(!(pt2 = strrchr(pt, ':'))) {