diff options
author | Eric Leblond <eric@inl.fr> | 2008-11-29 21:07:08 +0100 |
---|---|---|
committer | Eric Leblond <eric@inl.fr> | 2008-12-09 01:19:25 +0100 |
commit | 070b7f2f6af10d32ad6addfb9eb1aebb6545d511 (patch) | |
tree | 6353e750bcf9cdaf81ed0bc0b0b0d73fe101c5f8 | |
parent | a2f317e7d764f54bc51d3962ed1761358bfa10d9 (diff) |
Fix stop function of NFCT plugin.
This patch fixes some crashes in NFCT plugin that were triggered
by the call of the destructor_nfct function (during stop).
-rw-r--r-- | input/flow/ulogd_inpflow_NFCT.c | 2 | ||||
-rw-r--r-- | src/hash.c | 6 |
2 files changed, 5 insertions, 3 deletions
diff --git a/input/flow/ulogd_inpflow_NFCT.c b/input/flow/ulogd_inpflow_NFCT.c index a33ec35..a39bf08 100644 --- a/input/flow/ulogd_inpflow_NFCT.c +++ b/input/flow/ulogd_inpflow_NFCT.c @@ -884,7 +884,7 @@ static int constructor_nfct(struct ulogd_pluginstance *upi) static int destructor_nfct(struct ulogd_pluginstance *pi) { - struct nfct_pluginstance *cpi = (void *) pi; + struct nfct_pluginstance *cpi = (void *) pi->private; int rc; hashtable_destroy(cpi->ct_active); @@ -75,8 +75,10 @@ hashtable_create(int hashsize, int limit, int datasize, void hashtable_destroy(struct hashtable *h) { - hashtable_flush(h); - free(h); + if (h) { + hashtable_flush(h); + free(h); + } } void *hashtable_add(struct hashtable *table, void *data) |