chiark / gitweb /
sd-bus: destination-matches cannot match NameOwnerChanged
[elogind.git] / src / libelogind / sd-bus / bus-control.c
index a38c5c50fcaee7c654ebe1cbeadc85d0dd164dd6..526e1aa89ff750c5becd6095321cd013d3a7dacc 100644 (file)
@@ -1345,6 +1345,10 @@ int bus_add_match_internal_kernel(
                         else if (r > 0)
                                 sz += ALIGN8(offsetof(struct kdbus_item, id) + sizeof(uint64_t));
 
+                        /* if not a broadcast, it cannot be a name-change */
+                        if (r <= 0 || dst_id != KDBUS_DST_ID_BROADCAST)
+                                matches_name_change = false;
+
                         break;
                 }