From 8c82e46f3061597ac601b8e7465a71946ea78188 Mon Sep 17 00:00:00 2001 From: saerome kim Date: Thu, 21 Sep 2017 13:55:26 +0900 Subject: [PATCH] [WGID-279204] Fix a potential memory leak problem Change-Id: I1c3a18844118890d8f062e828aba84a73ff2bbab Signed-off-by: saerome kim --- zigbee-daemon/zigbee-lib/src/zblib_plugin.c | 2 ++ zigbee-daemon/zigbee-lib/src/zblib_service.c | 1 + 2 files changed, 3 insertions(+) diff --git a/zigbee-daemon/zigbee-lib/src/zblib_plugin.c b/zigbee-daemon/zigbee-lib/src/zblib_plugin.c index d8ce3a9..48de467 100644 --- a/zigbee-daemon/zigbee-lib/src/zblib_plugin.c +++ b/zigbee-daemon/zigbee-lib/src/zblib_plugin.c @@ -44,6 +44,8 @@ ZigBeePlugin *zblib_plugin_new(ZigBeeService *service, /* Allocate memory */ plugin = g_malloc0(sizeof(ZigBeePlugin)); + if (NULL == plugin) + return NULL; /* Update fields */ plugin->plugin_name = g_strdup(plugin_name); diff --git a/zigbee-daemon/zigbee-lib/src/zblib_service.c b/zigbee-daemon/zigbee-lib/src/zblib_service.c index 045b651..61b2025 100644 --- a/zigbee-daemon/zigbee-lib/src/zblib_service.c +++ b/zigbee-daemon/zigbee-lib/src/zblib_service.c @@ -424,6 +424,7 @@ gboolean zblib_service_load_plugins(ZigBeeService *service, const char *plugin_p /* Create new plug-in */ plugin = zblib_plugin_new(service, filename, descriptor, handle); if (G_UNLIKELY(NULL == plugin)) { + dlclose(handle); g_free(filename); continue; } -- 2.7.4