ubus: assume that the service iface can be NULL
authorFelix Fietkau <nbd@nbd.name>
Mon, 8 Jan 2024 09:21:48 +0000 (10:21 +0100)
committerFelix Fietkau <nbd@nbd.name>
Mon, 8 Jan 2024 09:21:49 +0000 (10:21 +0100)
Fix crash on dump

Signed-off-by: Felix Fietkau <nbd@nbd.name>
ubus.c

diff --git a/ubus.c b/ubus.c
index 30e612193e541b42d35d93aaec13fba77af5e387..69912784784b80e3bb01bd233a8379a8554b8969 100644 (file)
--- a/ubus.c
+++ b/ubus.c
@@ -104,7 +104,8 @@ umdns_browse(struct ubus_context *ctx, struct ubus_object *obj,
                        *local = '\0';
                c2 = blobmsg_open_table(&b, buffer);
                strncat(buffer, ".local", MAX_NAME_LEN);
-               blobmsg_add_string(&b, "iface", s->iface->name);
+               if (s->iface)
+                       blobmsg_add_string(&b, "iface", s->iface->name);
                cache_dump_records(&b, s->entry, array, &hostname);
                if (address)
                        cache_dump_records(&b, hostname, array, NULL);