From 2f3d0085e0b60fbab87b4b88bd986dba95bcd7b0 Mon Sep 17 00:00:00 2001 From: Alex 'AdUser' Z Date: Mon, 25 Jan 2021 12:58:52 +1000 Subject: [PATCH] * f2b_*_destroy() : fixes --- src/backend.c | 7 +++++-- src/filter.c | 7 +++++-- src/source.c | 7 +++++-- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/backend.c b/src/backend.c index 13d4190..2752cc0 100644 --- a/src/backend.c +++ b/src/backend.c @@ -121,8 +121,11 @@ f2b_backend_init(f2b_backend_t *backend, f2b_config_section_t *config) { void f2b_backend_destroy(f2b_backend_t *backend) { if (!backend) return; - backend->destroy(backend->cfg); - dlclose(backend->h); + if (backend->h) { + if (backend->cfg) + backend->destroy(backend->cfg); + dlclose(backend->h); + } free(backend); } diff --git a/src/filter.c b/src/filter.c index 1a8aba3..601cd3d 100644 --- a/src/filter.c +++ b/src/filter.c @@ -180,8 +180,11 @@ f2b_filter_init(f2b_filter_t *filter, f2b_config_section_t *config) { void f2b_filter_destroy(f2b_filter_t *filter) { if (!filter) return; - filter->destroy(filter->cfg); - dlclose(filter->h); + if (filter->h) { + if (filter->cfg) + filter->destroy(filter->cfg); + dlclose(filter->h); + } free(filter); } diff --git a/src/source.c b/src/source.c index ba2375e..a36c20a 100644 --- a/src/source.c +++ b/src/source.c @@ -117,8 +117,11 @@ f2b_source_init(f2b_source_t *source, f2b_config_section_t *config) { void f2b_source_destroy(f2b_source_t *source) { if (!source) return; - source->destroy(source->cfg); - dlclose(source->h); + if (source->h) { + if (source->cfg) + source->destroy(source->cfg); + dlclose(source->h); + } free(source); }