From 80a36594f9623dc471c6d866d3e688da39c143be Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Fri, 14 Jun 2024 14:17:57 +0200 Subject: [PATCH] hostapd: use strdup on string passed to hostapd_add_iface The data is modified within hostapd_add_iface Signed-off-by: Felix Fietkau (cherry picked from commit 032d3fcf7a861b140435b6507b2b0b66361c92f8) Link: https://github.com/openwrt/openwrt/pull/15898 Signed-off-by: Hauke Mehrtens --- package/network/services/hostapd/src/src/ap/ucode.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/package/network/services/hostapd/src/src/ap/ucode.c b/package/network/services/hostapd/src/src/ap/ucode.c index af97091be5..80c01b4b9b 100644 --- a/package/network/services/hostapd/src/src/ap/ucode.c +++ b/package/network/services/hostapd/src/src/ap/ucode.c @@ -86,12 +86,16 @@ static uc_value_t * uc_hostapd_add_iface(uc_vm_t *vm, size_t nargs) { uc_value_t *iface = uc_fn_arg(0); + char *data; int ret; if (ucv_type(iface) != UC_STRING) return ucv_int64_new(-1); - ret = hostapd_add_iface(interfaces, ucv_string_get(iface)); + data = strdup(ucv_string_get(iface)); + ret = hostapd_add_iface(interfaces, data); + free(data); + hostapd_ucode_update_interfaces(); return ucv_int64_new(ret); -- 2.30.2