summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau2026-01-04 10:04:58 +0000
committerFelix Fietkau2026-02-16 08:07:46 +0000
commite1728da72f5fc04c943b8240aab40988b212658b (patch)
tree855891ce4f2d891d16dbee7878c01e0e0288bd32
parente5d1332f739746e61c505bd36e041d2c83124e96 (diff)
downloadopenwrt-e1728da72f5fc04c943b8240aab40988b212658b.tar.gz
unetmsg: add null check in TX disconnect callback
The network may be deleted before the disconnect callback fires. Check for null to avoid crash when accessing net.tx_channels. Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry picked from commit f631d1576ddb331ceee726d876ea9c74a3553dbc)
-rw-r--r--package/network/services/unetmsg/files/usr/share/ucode/unetmsg/unetmsgd-remote.uc5
1 files changed, 5 insertions, 0 deletions
diff --git a/package/network/services/unetmsg/files/usr/share/ucode/unetmsg/unetmsgd-remote.uc b/package/network/services/unetmsg/files/usr/share/ucode/unetmsg/unetmsgd-remote.uc
index 59d9b0c278..63be3cbab0 100644
--- a/package/network/services/unetmsg/files/usr/share/ucode/unetmsg/unetmsgd-remote.uc
+++ b/package/network/services/unetmsg/files/usr/share/ucode/unetmsg/unetmsgd-remote.uc
@@ -350,6 +350,11 @@ function network_open_channel(net, name, peer)
let disconnect_cb = (req) => {
let net = networks[sock_data.network];
+ if (!net) {
+ network_tx_socket_close(sock_data);
+ return;
+ }
+
let cur_data = net.tx_channels[sock_data.name];
if (cur_data == sock_data)
delete net.tx_channels[sock_data.name];