X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-compat-libdns_sd%2Fcompat.c;h=e5692bbe7f66db406e3765791398547b7dded42d;hb=0cbaf99fc5eea82006dbc07f6c561e5d6d9cefba;hp=ae1cfb22e86f1ba48a6a35466cd8c5a004862ea5;hpb=6ecd227ceadc32ed229246aa61df6361c7b58a95;p=catta diff --git a/avahi-compat-libdns_sd/compat.c b/avahi-compat-libdns_sd/compat.c index ae1cfb2..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; @@ -517,7 +517,6 @@ DNSServiceErrorType DNSSD_API DNSServiceBrowse( assert(ret_sdref); assert(regtype); - assert(domain); assert(callback); if (interface == kDNSServiceInterfaceIndexLocalOnly || flags != 0) { @@ -791,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)); @@ -897,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); @@ -904,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; } @@ -984,7 +984,6 @@ DNSServiceErrorType DNSSD_API DNSServiceRegister ( AVAHI_WARN_LINKAGE; assert(ret_sdref); - assert(callback); assert(regtype); if (interface == kDNSServiceInterfaceIndexLocalOnly || flags) {