diff --git a/daemon/tcp_listener.c b/daemon/tcp_listener.c index 1356f940f..80cc5da9a 100644 --- a/daemon/tcp_listener.c +++ b/daemon/tcp_listener.c @@ -247,7 +247,8 @@ void streambuf_listener_shutdown(struct streambuf_listener *listener) { return; poller_del_item(listener->poller, listener->listener.fd); close_socket(&listener->listener); - g_hash_table_destroy(listener->streams); + if (listener->streams) + g_hash_table_destroy(listener->streams); } void streambuf_stream_close(struct streambuf_stream *s) { diff --git a/lib/auxlib.c b/lib/auxlib.c index 1779d6256..0dbfd399f 100644 --- a/lib/auxlib.c +++ b/lib/auxlib.c @@ -102,16 +102,20 @@ void config_load_free(struct rtpengine_common_config *cconfig) { } static void free_gkeyfile(GKeyFile **k) { - g_key_file_free(*k); + if (k && *k) + g_key_file_free(*k); } static void free_gopte(GOptionEntry **k) { - free(*k); + if (k && *k) + free(*k); } static void free_goptc(GOptionContext **k) { - g_option_context_free(*k); + if (k && *k) + g_option_context_free(*k); } static void free_gerror(GError **k) { - g_error_free(*k); + if (k && *k) + g_error_free(*k); } void config_load(int *argc, char ***argv, GOptionEntry *app_entries, const char *description,