It is necessary to prevent dereferencing of null pointers. Found with the SVACE static analysis tool. --- src/settings.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/settings.c b/src/settings.c index 996eaacd3..b61e694f1 100644 --- a/src/settings.c +++ b/src/settings.c @@ -232,7 +232,7 @@ static int gatt_db_load(struct gatt_db *db, GKeyFile *key_file, char **keys) value = g_key_file_get_string(key_file, "Attributes", *handle, NULL); - if (sscanf(value, "%[^:]:", type) != 1) { + if (!value || sscanf(value, "%[^:]:", type) != 1) { g_free(value); return -EIO; } @@ -255,7 +255,7 @@ static int gatt_db_load(struct gatt_db *db, GKeyFile *key_file, char **keys) value = g_key_file_get_string(key_file, "Attributes", *handle, NULL); - if (sscanf(value, "%[^:]:", type) != 1) { + if (!value || sscanf(value, "%[^:]:", type) != 1) { g_free(value); return -EIO; } -- 2.43.0