forked from Openwrt-EcoNet/openwrt
Avoid clobbering registry items of unrelated connections. Signed-off-by: Felix Fietkau <nbd@nbd.name>
27 lines
686 B
Diff
27 lines
686 B
Diff
From: Felix Fietkau <nbd@nbd.name>
|
|
Date: Fri, 9 May 2025 11:57:57 +0200
|
|
Subject: [PATCH] ubus: fix double registry clear on disconnect
|
|
|
|
Set c->registry_index to -1 in order to ensure that the resource free path
|
|
does not clobber registry items of unrelated connections.
|
|
|
|
Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|
---
|
|
|
|
--- a/lib/ubus.c
|
|
+++ b/lib/ubus.c
|
|
@@ -2375,8 +2375,11 @@ uc_ubus_channel_disconnect_cb(struct ubu
|
|
c->ctx.sock.fd = -1;
|
|
}
|
|
|
|
- if (c->registry_index >= 0)
|
|
- connection_reg_clear(c->vm, c->registry_index);
|
|
+ if (c->registry_index >= 0) {
|
|
+ int idx = c->registry_index;
|
|
+ c->registry_index = -1;
|
|
+ connection_reg_clear(c->vm, idx);
|
|
+ }
|
|
}
|
|
|
|
static uc_value_t *
|