summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau2026-01-04 10:04:58 +0000
committerFelix Fietkau2026-01-05 11:43:40 +0000
commitf631d1576ddb331ceee726d876ea9c74a3553dbc (patch)
tree6c28cafdba27b35e6fe184c4b64d3cdfda278395
parentf5bf8c2b948201a8e1e62b47049ab9f7b9d842bf (diff)
downloadopenwrt-f631d1576ddb331ceee726d876ea9c74a3553dbc.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>
-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];