diff options
| author | Jianhui Zhao | 2024-05-15 02:45:13 +0000 |
|---|---|---|
| committer | Hauke Mehrtens | 2024-09-22 21:36:46 +0000 |
| commit | b4dfa3b33c349be1bf74a64c3dd24c8dff98dc3c (patch) | |
| tree | 2a0abecfa68a807bd23ab6cf0bc628c15287395d | |
| parent | b0aecfaa4fd710df2dec9ceb90c3a6ebd97dcb7e (diff) | |
| download | openwrt-b4dfa3b33c349be1bf74a64c3dd24c8dff98dc3c.tar.gz | |
hostapd: fix `UPDATE_VAL` fail in `uc_hostapd_iface_start`
If the `intval` obtained from `info` is indeed 0, it cannot be set to `conf`.
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15495
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
| -rw-r--r-- | package/network/services/hostapd/src/src/ap/ucode.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/package/network/services/hostapd/src/src/ap/ucode.c b/package/network/services/hostapd/src/src/ap/ucode.c index c8a2b13a28..a5630d7eaa 100644 --- a/package/network/services/hostapd/src/src/ap/ucode.c +++ b/package/network/services/hostapd/src/src/ap/ucode.c @@ -533,10 +533,12 @@ uc_hostapd_iface_start(uc_vm_t *vm, size_t nargs) return NULL; #define UPDATE_VAL(field, name) \ - if ((intval = ucv_int64_get(ucv_object_get(info, name, NULL))) && \ - !errno && intval != conf->field) do { \ - conf->field = intval; \ - changed = true; \ + do { \ + intval = ucv_int64_get(ucv_object_get(info, name, NULL)); \ + if (!errno && intval != conf->field) { \ + conf->field = intval; \ + changed = true; \ + } \ } while(0) conf = iface->conf; |