diff options
author | Felix Fietkau <nbd@nbd.name> | 2021-09-29 14:03:55 +0200 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2021-09-29 15:07:16 +0200 |
commit | fac471c4934a960b30118fa6a45651532cdb6e81 (patch) | |
tree | cd3971e9e82d51ba4d611fd8227a28fb57425eca | |
parent | 186f6eaeba700cc0b2f5440880b782d155f51b0e (diff) | |
download | netifd-fac471c4934a960b30118fa6a45651532cdb6e81.tar.gz |
wireless: process and close script file descriptor when rerunning setup
On reloading, setup is called without a teardown, so the previous fd might
still be open. Clear it to avoid a leak.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
-rw-r--r-- | wireless.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -431,6 +431,9 @@ wireless_device_run_handler(struct wireless_device *wdev, bool up) argv[i] = NULL; if (up && pipe(fds) == 0) { + if (wdev->script_proc_fd.fd >= 0) + wireless_close_script_proc_fd(wdev); + wdev->script_proc_fd.fd = fds[0]; uloop_fd_add(&wdev->script_proc_fd, ULOOP_READ | ULOOP_EDGE_TRIGGER); |