Ver código fonte

core: common check for ifa->ifa_addr in add_intefaces

- if no ip address associated with the network interface, it is not
  useful anyhow
Daniel-Constantin Mierla 9 anos atrás
pai
commit
c395ae00d7
1 arquivos alterados com 4 adições e 1 exclusões
  1. 4 1
      socket_info.c

+ 4 - 1
socket_info.c

@@ -1205,9 +1205,12 @@ int add_interfaces(char* if_name, int family, unsigned short port,
 
 	for (ifa = ifap; ifa; ifa = ifa->ifa_next)
 	{
+		/* skip if no IP addr associated with the interface */
+		if (ifa->ifa_addr==0)
+			continue;
 #ifdef AF_PACKET
 		/* skip AF_PACKET addr family since it is of no use later on */
-		if (ifa->ifa_addr && ifa->ifa_addr->sa_family == AF_PACKET)
+		if (ifa->ifa_addr->sa_family == AF_PACKET)
 			continue;
 #endif
 		if (if_name && strcmp(if_name, ifa->ifa_name))