summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau2024-06-14 12:17:57 +0000
committerFelix Fietkau2024-06-21 09:52:25 +0000
commit032d3fcf7a861b140435b6507b2b0b66361c92f8 (patch)
tree731a5c82725ba82c61ac967d06618427acf9992f
parent3984fb0582083c5c0f511ed3a33eb17908eccb08 (diff)
downloadopenwrt-032d3fcf7a861b140435b6507b2b0b66361c92f8.tar.gz
hostapd: use strdup on string passed to hostapd_add_iface
The data is modified within hostapd_add_iface Signed-off-by: Felix Fietkau <nbd@nbd.name>
-rw-r--r--package/network/services/hostapd/src/src/ap/ucode.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/package/network/services/hostapd/src/src/ap/ucode.c b/package/network/services/hostapd/src/src/ap/ucode.c
index d344190208..68fb450884 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);