diff options
| author | Felix Fietkau | 2024-06-14 12:17:57 +0000 |
|---|---|---|
| committer | Felix Fietkau | 2024-06-21 09:52:25 +0000 |
| commit | 032d3fcf7a861b140435b6507b2b0b66361c92f8 (patch) | |
| tree | 731a5c82725ba82c61ac967d06618427acf9992f | |
| parent | 3984fb0582083c5c0f511ed3a33eb17908eccb08 (diff) | |
| download | openwrt-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.c | 6 |
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); |