X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-daemon%2Fdbus-sync-address-resolver.c;h=9845420c9b730cd9f1405010edc4720c289ea372;hb=60e78c0afb11eaafbdbe974a7d42751029afff83;hp=c35711bc7d417934a86ad52c7600cb413beec768;hpb=908e491f7d55209acfbb2595ab1ef5b24502d641;p=catta diff --git a/avahi-daemon/dbus-sync-address-resolver.c b/avahi-daemon/dbus-sync-address-resolver.c index c35711b..9845420 100644 --- a/avahi-daemon/dbus-sync-address-resolver.c +++ b/avahi-daemon/dbus-sync-address-resolver.c @@ -40,8 +40,8 @@ void avahi_dbus_sync_address_resolver_free(SyncAddressResolverInfo *i) { dbus_message_unref(i->message); AVAHI_LLIST_REMOVE(SyncAddressResolverInfo, sync_address_resolvers, i->client->sync_address_resolvers, i); + assert(i->client->n_objects >= 1); i->client->n_objects--; - assert(i->client->n_objects >= 0); avahi_free(i); } @@ -68,6 +68,12 @@ void avahi_dbus_sync_address_resolver_callback(AvahiSAddressResolver *r, AvahiIf u_flags = (uint32_t) flags; reply = dbus_message_new_method_return(i->message); + + if (!reply) { + avahi_log_error("Failed allocate message"); + goto finish; + } + dbus_message_append_args( reply, DBUS_TYPE_INT32, &i_interface, @@ -85,6 +91,6 @@ void avahi_dbus_sync_address_resolver_callback(AvahiSAddressResolver *r, AvahiIf avahi_dbus_respond_error(server->bus, i->message, avahi_server_errno(avahi_server), NULL); } +finish: avahi_dbus_sync_address_resolver_free(i); } -