Hi Chris, Thanks for your patch, I don't have time to review this right this second so I have opened a bug to ensure it is not forgotten:
http://www.avahi.org/ticket/118 Thanks for your contribution! Cheers, Trent On Fri, Mar 23, 2007 at 03:48:17PM -0400, Chris Rivera wrote: > Howdy folks. > > The attached patch replaces a few assertions with the returning of error > codes in the libdns_sd compatibility layer. The last bit of the patch > also fixes an invalid assertion on the txtRecord field of > DNSServiceRegister(). From the comments above this function in dns_sd.h: > > "Passing NULL for the txtRecord is allowed as a synonym for txtLen=1, > txtRecord="" ". > > The patch should apply cleanly to trunk. > > Thanks, > Chris > diff -ur /usr/src/packages/BUILD/avahi-0.6.17/avahi-compat-libdns_sd/compat.c > ../avahi-compat-libdns_sd/compat.c > --- avahi-compat-libdns_sd/compat.c 2007-01-06 13:29:05.000000000 -0500 > +++ avahi-compat-libdns_sd/compat.c 2007-03-07 16:32:59.000000000 -0500 > @@ -612,12 +612,10 @@ > > AVAHI_WARN_LINKAGE; > > - if (!ret_sdref) > + if (!ret_sdref || !regtype) > return kDNSServiceErr_BadParam; > *ret_sdref = NULL; > > - assert(regtype); > - > if (interface == kDNSServiceInterfaceIndexLocalOnly || flags != 0) { > AVAHI_WARN_UNSUPPORTED; > return kDNSServiceErr_Unsupported; > @@ -739,15 +737,10 @@ > > AVAHI_WARN_LINKAGE; > > - if (!ret_sdref) > + if (!ret_sdref || !name || !regtype || !domain || !callback) > return kDNSServiceErr_BadParam; > *ret_sdref = NULL; > > - assert(name); > - assert(regtype); > - assert(domain); > - assert(callback); > - > if (interface == kDNSServiceInterfaceIndexLocalOnly || flags != 0) { > AVAHI_WARN_UNSUPPORTED; > return kDNSServiceErr_Unsupported; > @@ -795,9 +788,8 @@ > > AVAHI_WARN_LINKAGE; > > - assert(fullName); > - assert(regtype); > - assert(domain); > + if (!fullName || !regtype || !domain) > + return -1; > > if (avahi_service_name_join(fullName, kDNSServiceMaxDomainName, service, > regtype, domain) < 0) > return -1; > @@ -856,12 +848,10 @@ > > AVAHI_WARN_LINKAGE; > > - if (!ret_sdref) > + if (!ret_sdref || !callback) > return kDNSServiceErr_BadParam; > *ret_sdref = NULL; > > - assert(callback); > - > if (interface == kDNSServiceInterfaceIndexLocalOnly || > (flags != kDNSServiceFlagsBrowseDomains && flags != > kDNSServiceFlagsRegistrationDomains)) { > AVAHI_WARN_UNSUPPORTED; > @@ -1100,14 +1090,14 @@ > > AVAHI_WARN_LINKAGE; > > - if (!ret_sdref) > + if (!ret_sdref || !regtype) > return kDNSServiceErr_BadParam; > *ret_sdref = NULL; > > - if (!regtype) > - return kDNSServiceErr_BadParam; > - > - assert(txtRecord || txtLen == 0); > + if (!txtRecord) { > + txtLen = 1; > + txtRecord = ""; > + } > > if (interface == kDNSServiceInterfaceIndexLocalOnly || flags) { > AVAHI_WARN_UNSUPPORTED; > _______________________________________________ > avahi mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/avahi _______________________________________________ avahi mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/avahi
