GIOChannel *sock_io = NULL;
int dns_sd_fd = DNSServiceRefSockFD(*sdRef);
+ if (dns_sd_fd < 0) {
+ DNSSD_LOGE("Invalid socket fd");
+ return;
+ }
+
sock_io = g_io_channel_unix_new(dns_sd_fd);
g_io_channel_set_flags(sock_io, G_IO_FLAG_NONBLOCK, NULL);
g_io_channel_set_close_on_unref(sock_io, TRUE);
/* fullname is of the form <servicename>.<protocol>.<domain>
* Extract servicename and domain from fullname */
name = g_strdup(fullname);
+ if (name == NULL) {
+ DNSSD_LOGE("Invalid browse handle");
+ return DNSSD_ERROR_OPERATION_FAILED;
+ }
domain = strtok_r(name, ".", &save_str);
domain = strtok_r(NULL, ".", &save_str);
domain = strtok_r(NULL, ".", &save_str);
if ((if_index = if_nametoindex(interface)) == 0) {
DNSSD_LOGE("Invalid interface name");
+ g_free(local_handle); //LCOV_EXCL_LINE
__DNSSD_LOG_FUNC_EXIT__;
return DNSSD_ERROR_INVALID_PARAMETER;
}