The polling timer initialisation code was put in the configurator code. It was then created for all instances. But only first one has a valid NFCT handle. This was resulting in a crash. This patch moves the timer initialisation in the constructor which is called only once on the main NFCT instance. Signed-off-by: Eric Leblond <eric@xxxxxxxxx> Reported-by: Gomathivinayagam Muthuvinayagam <sankarmail@xxxxxxxxx> --- input/flow/ulogd_inpflow_NFCT.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/input/flow/ulogd_inpflow_NFCT.c b/input/flow/ulogd_inpflow_NFCT.c index b45a435..dcba58f 100644 --- a/input/flow/ulogd_inpflow_NFCT.c +++ b/input/flow/ulogd_inpflow_NFCT.c @@ -982,11 +982,6 @@ static int configure_nfct(struct ulogd_pluginstance *upi, if (ret < 0) return ret; - ulogd_init_timer(&cpi->timer, upi, polling_timer_cb); - if (pollint_ce(upi->config_kset).u.value != 0) - ulogd_add_timer(&cpi->timer, - pollint_ce(upi->config_kset).u.value); - return 0; } @@ -1152,6 +1147,11 @@ static int constructor_nfct_polling(struct ulogd_pluginstance *upi) if (cpi->ct == NULL) goto err_ct_cache; + ulogd_init_timer(&cpi->timer, upi, polling_timer_cb); + if (pollint_ce(upi->config_kset).u.value != 0) + ulogd_add_timer(&cpi->timer, + pollint_ce(upi->config_kset).u.value); + ulogd_log(ULOGD_NOTICE, "NFCT working in polling mode\n"); return 0; -- 1.7.10.4 -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html