mirror of
https://github.com/espressif/openthread.git
synced 2026-08-07 19:27:46 +00:00
[posix] fix missing nullptr pointer check (#9179)
Avoid segmentation fault for interfaces without link.
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user