]> git.meshlink.io Git - catta/blobdiff - avahi-daemon/dbus-entry-group.c
bump sonames
[catta] / avahi-daemon / dbus-entry-group.c
index 65c7b072d3f685c27123d1736bd6c15c5305583d..0e1a21cba6095bb50c4a4288bfd9e1d781c86dfa 100644 (file)
@@ -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);