.
[kopensolaris-gnu/glibc.git] / sunrpc / get_myaddr.c
index ee82297..4449c53 100644 (file)
@@ -63,7 +63,7 @@ get_myaddress (struct sockaddr_in *addr)
 {
   struct ifaddrs *ifa;
 
 {
   struct ifaddrs *ifa;
 
-  if (getifaddrs (&ifa) == 0)
+  if (getifaddrs (&ifa) != 0)
     {
       perror ("get_myaddress: getifaddrs");
       exit (1);
     {
       perror ("get_myaddress: getifaddrs");
       exit (1);
@@ -76,7 +76,9 @@ get_myaddress (struct sockaddr_in *addr)
   run = ifa;
   while (run != NULL)
     {
   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))))
        {
          && (!(run->ifa_flags & IFF_LOOPBACK)
              || (loopback == 1 && (run->ifa_flags & IFF_LOOPBACK))))
        {