Browse code

libclamav: fix cl_cvdparse() leak (bb#1859)

Tomasz Kojm authored on 2010/03/06 03:12:07
Showing 3 changed files
... ...
@@ -1,3 +1,7 @@
1
+Fri Mar  5 19:11:25 CET 2010 (tk)
2
+---------------------------------
3
+ * libclamav: fix cl_cvdparse() leak (bb#1859)
4
+
1 5
 Thu Mar  4 17:33:18 CET 2010 (tk)
2 6
 ---------------------------------
3 7
  * libclamav/matcher-bm.c: fix array check (bb#1840)
... ...
@@ -617,7 +617,8 @@ int cli_cvdload(FILE *fs, struct cl_engine *engine, unsigned int *signo, unsigne
617 617
 	engine->dbinfo = dbinfo->next;
618 618
 	mpool_free(engine->mempool, dbinfo->name);
619 619
 	mpool_free(engine->mempool, dbinfo->hash);
620
-	free(dbinfo->cvd);
620
+	if(dbinfo->cvd)
621
+	    cl_cvdfree(dbinfo->cvd);
621 622
 	mpool_free(engine->mempool, dbinfo);
622 623
     }
623 624
 
... ...
@@ -2869,7 +2869,8 @@ int cl_engine_free(struct cl_engine *engine)
2869 2869
 	engine->dbinfo = pt->next;
2870 2870
 	mpool_free(engine->mempool, pt->name);
2871 2871
 	mpool_free(engine->mempool, pt->hash);
2872
-	free(pt->cvd);
2872
+	if(pt->cvd)
2873
+	    cl_cvdfree(pt->cvd);
2873 2874
 	mpool_free(engine->mempool, pt);
2874 2875
     }
2875 2876