X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-compat-libdns_sd%2Fcompat.c;h=e5692bbe7f66db406e3765791398547b7dded42d;hb=0cbaf99fc5eea82006dbc07f6c561e5d6d9cefba;hp=052c8b2b8444858b6f7cea451819c095e63f524e;hpb=da014c84b0c8ec1ef52752dd79bbf96ee024d0bb;p=catta diff --git a/avahi-compat-libdns_sd/compat.c b/avahi-compat-libdns_sd/compat.c index 052c8b2..e5692bb 100644 --- a/avahi-compat-libdns_sd/compat.c +++ b/avahi-compat-libdns_sd/compat.c @@ -374,8 +374,8 @@ static void sdref_unref(DNSServiceRef sdref) { } int DNSSD_API DNSServiceRefSockFD(DNSServiceRef sdref) { - assert(sdref); - assert(sdref->n_ref >= 1); + if (!sdref || sdref->n_ref <= 0) + return -1; AVAHI_WARN_LINKAGE; @@ -790,7 +790,8 @@ static void reg_report_error(DNSServiceRef sdref, DNSServiceErrorType error) { assert(sdref); assert(sdref->n_ref >= 1); - assert(sdref->service_register_callback); + if (!sdref->service_register_callback) + return; regtype = add_trailing_dot(sdref->service_regtype, regtype_fixed, sizeof(regtype_fixed)); domain = add_trailing_dot(sdref->service_domain, domain_fixed, sizeof(domain_fixed)); @@ -896,6 +897,7 @@ static void reg_client_callback(AvahiClient *s, AvahiClientState state, void* us } case AVAHI_CLIENT_S_COLLISION: + case AVAHI_CLIENT_S_REGISTERING: /* Remove our entry */ avahi_entry_group_reset(sdref->entry_group); @@ -903,7 +905,6 @@ static void reg_client_callback(AvahiClient *s, AvahiClientState state, void* us break; case AVAHI_CLIENT_CONNECTING: - case AVAHI_CLIENT_S_REGISTERING: /* Ignore */ break; } @@ -983,7 +984,6 @@ DNSServiceErrorType DNSSD_API DNSServiceRegister ( AVAHI_WARN_LINKAGE; assert(ret_sdref); - assert(callback); assert(regtype); if (interface == kDNSServiceInterfaceIndexLocalOnly || flags) {