forked from acouzens/open5gs
fix the memory lean when auto-detect interface case
This commit is contained in:
parent
587598c8a9
commit
fc4a89b678
|
@ -404,6 +404,8 @@ status_t sock_probe_node(list_t *list, list_t *list6, c_uint16_t port)
|
||||||
addr = (c_sockaddr_t *)cur->ifa_addr;
|
addr = (c_sockaddr_t *)cur->ifa_addr;
|
||||||
if (cur->ifa_addr->sa_family == AF_INET)
|
if (cur->ifa_addr->sa_family == AF_INET)
|
||||||
{
|
{
|
||||||
|
if (!list) continue;
|
||||||
|
|
||||||
#ifndef IN_IS_ADDR_LOOPBACK
|
#ifndef IN_IS_ADDR_LOOPBACK
|
||||||
#define IN_IS_ADDR_LOOPBACK(a) \
|
#define IN_IS_ADDR_LOOPBACK(a) \
|
||||||
((((long int) (a)->s_addr) & ntohl(0xff000000)) == ntohl(0x7f000000))
|
((((long int) (a)->s_addr) & ntohl(0xff000000)) == ntohl(0x7f000000))
|
||||||
|
@ -420,6 +422,8 @@ status_t sock_probe_node(list_t *list, list_t *list6, c_uint16_t port)
|
||||||
}
|
}
|
||||||
else if (cur->ifa_addr->sa_family == AF_INET6)
|
else if (cur->ifa_addr->sa_family == AF_INET6)
|
||||||
{
|
{
|
||||||
|
if (!list6) continue;
|
||||||
|
|
||||||
if (IN6_IS_ADDR_UNSPECIFIED(&addr->sin6.sin6_addr) ||
|
if (IN6_IS_ADDR_UNSPECIFIED(&addr->sin6.sin6_addr) ||
|
||||||
IN6_IS_ADDR_LOOPBACK(&addr->sin6.sin6_addr) ||
|
IN6_IS_ADDR_LOOPBACK(&addr->sin6.sin6_addr) ||
|
||||||
IN6_IS_ADDR_MULTICAST(&addr->sin6.sin6_addr) ||
|
IN6_IS_ADDR_MULTICAST(&addr->sin6.sin6_addr) ||
|
||||||
|
@ -443,11 +447,13 @@ status_t sock_probe_node(list_t *list, list_t *list6, c_uint16_t port)
|
||||||
|
|
||||||
if (addr->c_sa_family == AF_INET)
|
if (addr->c_sa_family == AF_INET)
|
||||||
{
|
{
|
||||||
if (list) list_append(list, node);
|
d_assert(list, return CORE_ERROR,);
|
||||||
|
list_append(list, node);
|
||||||
}
|
}
|
||||||
else if (addr->c_sa_family == AF_INET6)
|
else if (addr->c_sa_family == AF_INET6)
|
||||||
{
|
{
|
||||||
if (list6) list_append(list6, node);
|
d_assert(list6, return CORE_ERROR,);
|
||||||
|
list_append(list6, node);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
d_assert(0, return CORE_ERROR,);
|
d_assert(0, return CORE_ERROR,);
|
||||||
|
|
Loading…
Reference in New Issue