summaryrefslogtreecommitdiff
path: root/mdns_tinysvcmdns.c
diff options
context:
space:
mode:
authorMike Brady <mikebrady@eircom.net>2014-04-30 20:39:09 +0100
committerMike Brady <mikebrady@eircom.net>2014-04-30 20:39:09 +0100
commitc1cedcfaf53ff82c2b2450b2d28efcf7bc06034a (patch)
treee9f997c49087c222ec94943f7e12f5930cf581fe /mdns_tinysvcmdns.c
parent6941ac515de157fcb0e4362804b3d81852600db8 (diff)
Don't remember this -- seems a little extra error checking is done.
Diffstat (limited to 'mdns_tinysvcmdns.c')
-rw-r--r--mdns_tinysvcmdns.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/mdns_tinysvcmdns.c b/mdns_tinysvcmdns.c
index 6fe55d3..46c63ff 100644
--- a/mdns_tinysvcmdns.c
+++ b/mdns_tinysvcmdns.c
@@ -62,14 +62,16 @@ static int mdns_tinysvcmdns_register(char *apname, int port) {
// Look for an ipv4/ipv6 non-loopback interface to use as the main one.
for (ifa = ifalist; ifa != NULL; ifa = ifa->ifa_next)
{
- if (!(ifa->ifa_flags & IFF_LOOPBACK) && ifa->ifa_addr->sa_family == AF_INET)
+ if (!(ifa->ifa_flags & IFF_LOOPBACK) && ifa->ifa_addr &&
+ ifa->ifa_addr->sa_family == AF_INET)
{
uint32_t main_ip = ((struct sockaddr_in *)ifa->ifa_addr)->sin_addr.s_addr;
mdnsd_set_hostname(svr, hostname, main_ip);
break;
}
- else if (!(ifa->ifa_flags & IFF_LOOPBACK) && ifa->ifa_addr->sa_family == AF_INET6)
+ else if (!(ifa->ifa_flags & IFF_LOOPBACK) && ifa->ifa_addr &&
+ ifa->ifa_addr->sa_family == AF_INET6)
{
struct in6_addr *addr = &((struct sockaddr_in6 *)ifa->ifa_addr)->sin6_addr;