X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;ds=sidebyside;f=avahi-daemon%2Fdbus-entry-group.c;h=0e1a21cba6095bb50c4a4288bfd9e1d781c86dfa;hb=124c9f007617a5b4078a75843c6ee80f70186ed1;hp=65c7b072d3f685c27123d1736bd6c15c5305583d;hpb=05dc243bdf89aae26c72434ddd7c27ab9143fec1;p=catta diff --git a/avahi-daemon/dbus-entry-group.c b/avahi-daemon/dbus-entry-group.c index 65c7b07..0e1a21c 100644 --- a/avahi-daemon/dbus-entry-group.c +++ b/avahi-daemon/dbus-entry-group.c @@ -40,8 +40,11 @@ void avahi_dbus_entry_group_free(EntryGroupInfo *i) { if (i->entry_group) avahi_s_entry_group_free(i->entry_group); - dbus_connection_unregister_object_path(server->bus, i->path); - avahi_free(i->path); + + if (i->path) { + dbus_connection_unregister_object_path(server->bus, i->path); + avahi_free(i->path); + } AVAHI_LLIST_REMOVE(EntryGroupInfo, entry_groups, i->client->entry_groups, i); i->client->n_objects--; @@ -120,7 +123,9 @@ DBusHandlerResult avahi_dbus_msg_entry_group_impl(DBusConnection *c, DBusMessage goto fail; } - avahi_s_entry_group_commit(i->entry_group); + if (avahi_s_entry_group_commit(i->entry_group) < 0) + return avahi_dbus_respond_error(c, m, avahi_server_errno(avahi_server), NULL); + return avahi_dbus_respond_ok(c, m);