From aa98d7f86c3cee11fbc24f7340e8223dda73564a Mon Sep 17 00:00:00 2001 From: Stefan Mititelu Date: Wed, 17 Jun 2020 19:11:05 +0300 Subject: [PATCH] Prevent glib CRITICAL errors for NULL pointers --- daemon/tcp_listener.c | 3 ++- lib/auxlib.c | 12 ++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) 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,