From 97320a95ab5de36f7df64972df5b15fd4847853c Mon Sep 17 00:00:00 2001 From: Suvendhu Hansa Date: Fri, 22 Aug 2025 17:31:29 +0530 Subject: [PATCH] Fix string handling --- libbbfdm-api/legacy/dmcommon.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/libbbfdm-api/legacy/dmcommon.c b/libbbfdm-api/legacy/dmcommon.c index ff1bd07b..e4e4dd24 100644 --- a/libbbfdm-api/legacy/dmcommon.c +++ b/libbbfdm-api/legacy/dmcommon.c @@ -317,13 +317,18 @@ void free_dmmap_config_dup_list(struct list_head *dup_list) struct uci_section *get_config_section_from_dmmap_section_name(const char *config_sec_name) { - if (DM_STRLEN(config_sec_name) == 0) + int len = DM_STRLEN(config_sec_name); + + if (len == 0) return NULL; - char *p = strchr(config_sec_name, '.'); + char tmp[len + 1]; + snprintf(tmp, sizeof(tmp), "%s", config_sec_name); + + char *p = strchr(tmp, '.'); if (p) *p = 0; - return dmuci_get_section(config_sec_name, p ? p + 1 : ""); + return dmuci_get_section(tmp, p ? p + 1 : ""); } struct uci_section *get_origin_section_from_config(const char *package, const char *section_type, const char *orig_section_name)