Browse code

fix memory leaks in db handling code

git-svn: trunk@2858

Tomasz Kojm authored on 2007/02/25 03:44:18
Showing 3 changed files
... ...
@@ -1,3 +1,7 @@
1
+Sat Feb 24 17:47:54 CET 2007 (tk)
2
+---------------------------------
3
+  * libclamav: fix memory leaks in db handling code
4
+
1 5
 Sat Feb 24 11:44:34 GMT 2007 (njh)
2 6
 ----------------------------------
3 7
   * libclamav/mbox.c:	Fix confusion when recursing to multipart/related
... ...
@@ -198,7 +198,7 @@ static void cli_freepatt(struct cli_ac_patt *list)
198 198
 	else
199 199
 	    free(handler->pattern);
200 200
 	free(handler->virname);
201
-	if(handler->offset && (!handler->sigid || handler->partno == 1))
201
+	if(handler->offset)
202 202
 	    free(handler->offset);
203 203
 	if(handler->alt) {
204 204
 	    free(handler->altn);
... ...
@@ -1699,6 +1699,17 @@ void cl_free(struct cl_engine *engine)
1699 1699
 	free(engine->md5_hlist);
1700 1700
     }
1701 1701
 
1702
+    md5pt = engine->md5_sect;
1703
+    while(md5pt) {
1704
+	md5h = md5pt;
1705
+	md5pt = md5pt->next;
1706
+	free(md5h->md5);
1707
+	free(md5h->virname);
1708
+	if(md5h->viralias)
1709
+	    free(md5h->viralias);
1710
+	free(md5h);
1711
+    }
1712
+
1702 1713
     metapt = engine->zip_mlist;
1703 1714
     while(metapt) {
1704 1715
 	metah = metapt;