* fix mutex locking order in DNSProcessResult
git-svn-id: file:///home/lennart/svn/public/avahi/trunk@1374
941a03a8-eaeb-0310-b9a0-
b1bbd8fe43fe
}
int DNSSD_API DNSServiceRefSockFD(DNSServiceRef sdref) {
}
int DNSSD_API DNSServiceRefSockFD(DNSServiceRef sdref) {
- if (!sdref || sdref->n_ref <= 0)
- return -1;
+ if (!sdref || sdref->n_ref <= 0)
+ return -1;
+
return sdref->main_fd;
}
DNSServiceErrorType DNSSD_API DNSServiceProcessResult(DNSServiceRef sdref) {
DNSServiceErrorType ret = kDNSServiceErr_Unknown;
return sdref->main_fd;
}
DNSServiceErrorType DNSSD_API DNSServiceProcessResult(DNSServiceRef sdref) {
DNSServiceErrorType ret = kDNSServiceErr_Unknown;
- assert(sdref);
- assert(sdref->n_ref >= 1);
-
- ASSERT_SUCCESS(pthread_mutex_lock(&sdref->mutex));
-
+ if (!sdref || sdref->n_ref <= 0)
+ return kDNSServiceErr_BadParam;
+
+
+ ASSERT_SUCCESS(pthread_mutex_lock(&sdref->mutex));
/* Cleanup notification socket */
if (read_command(sdref->main_fd) != COMMAND_POLL_DONE)
/* Cleanup notification socket */
if (read_command(sdref->main_fd) != COMMAND_POLL_DONE)
ASSERT_SUCCESS(pthread_mutex_unlock(&sdref->mutex));
ASSERT_SUCCESS(pthread_mutex_unlock(&sdref->mutex));
if (!ret_sdref)
return kDNSServiceErr_BadParam;
if (!ret_sdref)
return kDNSServiceErr_BadParam;
*ret_sdref = NULL;
assert(regtype);
*ret_sdref = NULL;
assert(regtype);
+ if (!ret_sdref)
+ return kDNSServiceErr_BadParam;
+ *ret_sdref = NULL;
+
assert(name);
assert(regtype);
assert(domain);
assert(name);
assert(regtype);
assert(domain);
+ if (!ret_sdref)
+ return kDNSServiceErr_BadParam;
+ *ret_sdref = NULL;
+
assert(callback);
if (interface == kDNSServiceInterfaceIndexLocalOnly ||
assert(callback);
if (interface == kDNSServiceInterfaceIndexLocalOnly ||
if (!ret_sdref)
return kDNSServiceErr_BadParam;
if (!ret_sdref)
return kDNSServiceErr_BadParam;
*ret_sdref = NULL;
if (!regtype)
*ret_sdref = NULL;
if (!regtype)
int ret = kDNSServiceErr_Unknown;
AvahiStringList *txt = NULL;
int ret = kDNSServiceErr_Unknown;
AvahiStringList *txt = NULL;
+ if (!sdref || sdref->n_ref <= 0)
+ return kDNSServiceErr_BadParam;
+
if (flags || rref) {
AVAHI_WARN_UNSUPPORTED;
return kDNSServiceErr_Unsupported;
if (flags || rref) {
AVAHI_WARN_UNSUPPORTED;
return kDNSServiceErr_Unsupported;