From 4829c2c8940db72e3336d122293b0760ee8e1585 Mon Sep 17 00:00:00 2001 From: William Wilgus Date: Fri, 7 Jun 2024 00:22:44 -0400 Subject: [coverity] settings.c int_to_string() string_to_int() guard NULL deref Change-Id: I442b574ca27cf154697202a9fce7628cbcb6752d --- apps/settings.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'apps') diff --git a/apps/settings.c b/apps/settings.c index b281646686..dc3fede588 100644 --- a/apps/settings.c +++ b/apps/settings.c @@ -259,7 +259,7 @@ bool cfg_string_to_int(const struct settings_list *setting, int* out, const char size_t len = strlen(str); int index = 0; - while (true) + while (ptr) { if (!strncmp(ptr, str, len)) { @@ -283,6 +283,8 @@ bool cfg_string_to_int(const struct settings_list *setting, int* out, const char ptr++; index++; } + logf("%s() bad setting\n", __func__); + return false; } /** @@ -471,7 +473,7 @@ bool cfg_int_to_string(const struct settings_list *setting, int val, char* buf, if (setting->flags & F_TABLE_SETTING) values = setting->table_setting->values; - while (true) + while (ptr) { if ((values && values[index] == val) || (!values && index == val)) @@ -494,6 +496,8 @@ bool cfg_int_to_string(const struct settings_list *setting, int val, char* buf, ptr++; index++; } + logf("%s() bad setting\n", __func__); + return false; } void cfg_to_string(const struct settings_list *setting, char* buf, int buf_len) -- cgit v1.2.3