[posix] fix missing nullptr pointer check (#9179)

Avoid segmentation fault for interfaces without link.
This commit is contained in:
cw8466
2023-07-01 07:28:28 -07:00
committed by GitHub
parent e772e8a86f
commit 561966a01f
+6 -3
View File
@@ -73,7 +73,8 @@ bool otPlatInfraIfHasAddress(uint32_t aInfraIfIndex, const otIp6Address *aAddres
{
struct sockaddr_in6 *ip6Addr;
if (if_nametoindex(addr->ifa_name) != aInfraIfIndex || addr->ifa_addr->sa_family != AF_INET6)
if (if_nametoindex(addr->ifa_name) != aInfraIfIndex || addr->ifa_addr == nullptr ||
addr->ifa_addr->sa_family != AF_INET6)
{
continue;
}
@@ -316,7 +317,8 @@ void InfraNetif::CountAddresses(otSysInfraNetIfAddressCounters &aAddressCounters
{
in6_addr *in6Addr;
if (strncmp(addr->ifa_name, mInfraIfName, sizeof(mInfraIfName)) != 0 || addr->ifa_addr->sa_family != AF_INET6)
if (strncmp(addr->ifa_name, mInfraIfName, sizeof(mInfraIfName)) != 0 || addr->ifa_addr == nullptr ||
addr->ifa_addr->sa_family != AF_INET6)
{
continue;
}
@@ -348,7 +350,8 @@ bool InfraNetif::HasLinkLocalAddress(void) const
{
struct sockaddr_in6 *ip6Addr;
if (strncmp(addr->ifa_name, mInfraIfName, sizeof(mInfraIfName)) != 0 || addr->ifa_addr->sa_family != AF_INET6)
if (strncmp(addr->ifa_name, mInfraIfName, sizeof(mInfraIfName)) != 0 || addr->ifa_addr == nullptr ||
addr->ifa_addr->sa_family != AF_INET6)
{
continue;
}