From f99d409ba44d09ae361686b10cde468e903c99d7 Mon Sep 17 00:00:00 2001 From: Michal Bloch Date: Thu, 20 Aug 2020 14:10:47 +0200 Subject: [PATCH] Further SVACE fixes Change-Id: I9a89538e95b71822eee9af8cd4eb21ae07fd45d7 Signed-off-by: Michal Bloch --- lib/libconfig.c | 6 ++++++ lib/libconfigcpp.c++ | 4 ++-- lib/scanctx.c | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/libconfig.c b/lib/libconfig.c index 47920ec..5a4d5a1 100644 --- a/lib/libconfig.c +++ b/lib/libconfig.c @@ -853,6 +853,9 @@ static config_setting_t *config_setting_create(config_setting_t *parent, return(NULL); setting = _new(config_setting_t); + if (!setting) + return NULL; + setting->parent = parent; setting->name = (name == NULL) ? NULL : strdup(name); setting->type = type; @@ -1568,6 +1571,9 @@ config_setting_t *config_setting_get_member(const config_setting_t *setting, if(setting->type != CONFIG_TYPE_GROUP) return(NULL); + if(! name) + return(NULL); + return(__config_list_search(setting->value.list, name, NULL)); } diff --git a/lib/libconfigcpp.c++ b/lib/libconfigcpp.c++ index cdc4ffc..c26d379 100644 --- a/lib/libconfigcpp.c++ +++ b/lib/libconfigcpp.c++ @@ -1017,7 +1017,7 @@ const Setting & Setting::getParent() const config_setting_t *setting = config_setting_parent(_setting); if(! setting) - throw SettingNotFoundException(NULL); + throw SettingNotFoundException("Setting::getParent - parent not found"); return(wrapSetting(setting)); } @@ -1029,7 +1029,7 @@ Setting & Setting::getParent() config_setting_t *setting = config_setting_parent(_setting); if(! setting) - throw SettingNotFoundException(NULL); + throw SettingNotFoundException("Setting::getParent - parent not found"); return(wrapSetting(setting)); } diff --git a/lib/scanctx.c b/lib/scanctx.c index 42d584e..9cc5b02 100644 --- a/lib/scanctx.c +++ b/lib/scanctx.c @@ -133,9 +133,9 @@ const char *scanctx_getpath(struct scan_context *ctx) if((name[0] != FILE_SEPARATOR[0]) && ctx->config->include_dir) { full_path = scanctx_filename(ctx, ctx->config->include_dir, name); + free((void*)name); if(!full_path) return NULL; - free((void*)name); } else full_path = name; -- 2.7.4