From 070b7f2f6af10d32ad6addfb9eb1aebb6545d511 Mon Sep 17 00:00:00 2001 From: Eric Leblond Date: Sat, 29 Nov 2008 21:07:08 +0100 Subject: 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). --- input/flow/ulogd_inpflow_NFCT.c | 2 +- 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); diff --git a/src/hash.c b/src/hash.c index 33541e8..700678c 100644 --- a/src/hash.c +++ b/src/hash.c @@ -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) -- cgit v1.2.3