GDBusProxy for a non-existing service intercepts signals from wrong sources
Submitted by Marius Vollmer
Link to original bug (#730440)
Description
Check this code:
https://git.gnome.org/browse/glib/tree/gio/gdbusproxy.c#n885
if (proxy->priv->name_owner != NULL && g_strcmp0 (sender_name, proxy->priv->name_owner) != 0) { G_UNLOCK (properties_lock); goto out; }
I believe the condition should be
proxy->priv->name_owner == NULL || g_strcmp0 (...) != 0
If the code is correct, there must be a bug somewhere else. A GBusObjectManagerClient for /org/freedesktop/UDisks2 of the com.redhat.storaged service will try to create proxies for org.freedesktop.UDisks2 objects when storaged is not installed.
(Storaged maybe shouldn't use the same paths as UDisks2, but I still believe there is a bug in GDBus here as well.)