aboutsummaryrefslogtreecommitdiff
path: root/sunrpc
diff options
context:
space:
mode:
Diffstat (limited to 'sunrpc')
-rw-r--r--sunrpc/clnt_udp.c1
-rw-r--r--sunrpc/get_myaddr.c4
-rw-r--r--sunrpc/pmap_clnt.c4
-rw-r--r--sunrpc/pmap_rmt.c1
4 files changed, 8 insertions, 2 deletions
diff --git a/sunrpc/clnt_udp.c b/sunrpc/clnt_udp.c
index 1836ff3433..f3787dd1a5 100644
--- a/sunrpc/clnt_udp.c
+++ b/sunrpc/clnt_udp.c
@@ -244,6 +244,7 @@ is_network_up (int sock)
while (run != NULL)
{
if ((run->ifa_flags & IFF_UP) != 0
+ && run->ifa_addr != NULL
&& run->ifa_addr->sa_family == AF_INET)
break;
diff --git a/sunrpc/get_myaddr.c b/sunrpc/get_myaddr.c
index c0beee9c59..4449c53c06 100644
--- a/sunrpc/get_myaddr.c
+++ b/sunrpc/get_myaddr.c
@@ -76,7 +76,9 @@ get_myaddress (struct sockaddr_in *addr)
run = ifa;
while (run != NULL)
{
- if ((run->ifa_flags & IFF_UP) && run->ifa_addr->sa_family == AF_INET
+ if ((run->ifa_flags & IFF_UP)
+ && run->ifa_addr != NULL
+ && run->ifa_addr->sa_family == AF_INET
&& (!(run->ifa_flags & IFF_LOOPBACK)
|| (loopback == 1 && (run->ifa_flags & IFF_LOOPBACK))))
{
diff --git a/sunrpc/pmap_clnt.c b/sunrpc/pmap_clnt.c
index aa5740c8a0..3e42960893 100644
--- a/sunrpc/pmap_clnt.c
+++ b/sunrpc/pmap_clnt.c
@@ -70,7 +70,9 @@ __get_myaddress (struct sockaddr_in *addr)
run = ifa;
while (run != NULL)
{
- if ((run->ifa_flags & IFF_UP) && run->ifa_addr->sa_family == AF_INET
+ if ((run->ifa_flags & IFF_UP)
+ && run->ifa_addr != NULL
+ && run->ifa_addr->sa_family == AF_INET
&& ((run->ifa_flags & IFF_LOOPBACK) || loopback == 0))
{
*addr = *((struct sockaddr_in *) run->ifa_addr);
diff --git a/sunrpc/pmap_rmt.c b/sunrpc/pmap_rmt.c
index 4ff707ad15..644d503a1f 100644
--- a/sunrpc/pmap_rmt.c
+++ b/sunrpc/pmap_rmt.c
@@ -191,6 +191,7 @@ getbroadcastnets (struct in_addr *addrs, int naddrs)
{
if ((run->ifa_flags & IFF_BROADCAST) != 0
&& (run->ifa_flags & IFF_UP) != 0
+ && run->ifa_addr != NULL
&& run->ifa_addr->sa_family == AF_INET)
/* Copy the broadcast address. */
addrs[i++] = ((struct sockaddr_in *) run->ifa_broadaddr)->sin_addr;