mempool for regex_list/phishcheck

git-svn-id: file:///var/lib/svn/clamav-devel/branches/mpool@4277 77e5149b-7576-45b1-b177-96237e5ba77b
0.95
Török Edvin 17 years ago
parent 29f241666f
commit b36e9f8a1a
  1. 6
      ChangeLog
  2. 1
      libclamav/phish_domaincheck_db.c
  3. 3
      libclamav/phish_whitelist.c
  4. 2
      libclamav/phishcheck.c
  5. 9
      libclamav/regex_list.c

@ -1,3 +1,9 @@
Sun Oct 19 15:51:10 EEST 2008 (edwin)
-------------------------------------
* libclamav/phish_domaincheck_db.c, libclamav/phish_whitelist.c,
libclamav/phishcheck.c, libclamav/regex_list.c: mempool for
regex_list/phishcheck
Sun Oct 19 15:36:32 EEST 2008 (edwin)
-------------------------------------
* libclamav/matcher-ac.c, libclamav/regex_list.c: fix hexnew

@ -58,6 +58,7 @@ int init_domainlist(struct cl_engine* engine)
engine->domainlist_matcher = (struct regex_matcher *) cli_malloc(sizeof(struct regex_matcher));
if(!engine->domainlist_matcher)
return CL_EMEM;
((struct regex_matcher*)engine->domainlist_matcher)->mempool = engine->mempool;
return init_regex_list(engine->domainlist_matcher);
}
else

@ -65,6 +65,7 @@ int init_whitelist(struct cl_engine* engine)
#else
engine->whitelist_matcher = (struct regex_matcher *) cli_malloc(sizeof(struct regex_matcher));
#endif
((struct regex_matcher*)engine->whitelist_matcher)->mempool = engine->mempool;
if(!engine->whitelist_matcher)
return CL_EMEM;
return init_regex_list(engine->whitelist_matcher);
@ -82,7 +83,9 @@ void whitelist_done(struct cl_engine* engine)
{
if(engine && engine->whitelist_matcher) {
regex_list_done(engine->whitelist_matcher);
#ifndef USE_MPOOL
free(engine->whitelist_matcher);
#endif
engine->whitelist_matcher = NULL;
}
}

@ -907,7 +907,9 @@ void phishing_done(struct cl_engine* engine)
domainlist_done(engine);
if(pchk) {
cli_dbgmsg("Freeing phishcheck struct\n");
#ifndef USE_MPOOL
free(pchk);
#endif
}
cli_dbgmsg("Phishcheck cleaned up\n");
}

@ -347,6 +347,7 @@ int regex_list_match(struct regex_matcher* matcher,char* real_url,const char* di
/* Initializes @matcher, allocating necesarry substructures */
int init_regex_list(struct regex_matcher* matcher)
{
mpool_t *mp = matcher->mempool;
int rc;
assert(matcher);
@ -356,10 +357,12 @@ int init_regex_list(struct regex_matcher* matcher)
matcher->list_built=0;
matcher->list_loaded=0;
hashtab_init(&matcher->suffix_hash, 10);
matcher->suffixes.mempool = matcher->mempool;
matcher->mempool = mp;
matcher->suffixes.mempool = mp;
if((rc = cli_ac_init(&matcher->suffixes, 2, 32))) {
return rc;
}
matcher->md5_hashes.mempool = mp;
if((rc = cli_bm_init(&matcher->md5_hashes))) {
return rc;
}
@ -568,7 +571,9 @@ void regex_list_done(struct regex_matcher* matcher)
if(matcher->list_inited) {
size_t i;
#ifndef USE_MPOOL
cli_ac_free(&matcher->suffixes);
#endif
if(matcher->suffix_regexes) {
for(i=0;i<matcher->suffix_cnt;i++) {
struct regex_list *r = matcher->suffix_regexes[i].head;
@ -591,7 +596,9 @@ void regex_list_done(struct regex_matcher* matcher)
free(matcher->all_pregs);
}
hashtab_free(&matcher->suffix_hash);
#ifndef USE_MPOOL
cli_bm_free(&matcher->md5_hashes);
#endif
}
}

Loading…
Cancel
Save