mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-01-22 04:04:16 +00:00
fixed some memory leak
This commit is contained in:
parent
442c63d7a4
commit
f2c401b6c0
17
util.cpp
17
util.cpp
@ -275,14 +275,15 @@ namespace net
|
|||||||
if (cur_ifname == ifname && cur->ifa_addr && cur->ifa_addr->sa_family == af)
|
if (cur_ifname == ifname && cur->ifa_addr && cur->ifa_addr->sa_family == af)
|
||||||
{
|
{
|
||||||
// match
|
// match
|
||||||
char * addr = new char[INET6_ADDRSTRLEN];
|
char * addr = new char[INET6_ADDRSTRLEN];
|
||||||
bzero(addr, INET6_ADDRSTRLEN);
|
bzero(addr, INET6_ADDRSTRLEN);
|
||||||
if(af == AF_INET)
|
if(af == AF_INET)
|
||||||
inet_ntop(af, &((sockaddr_in *)cur->ifa_addr)->sin_addr, addr, INET6_ADDRSTRLEN);
|
inet_ntop(af, &((sockaddr_in *)cur->ifa_addr)->sin_addr, addr, INET6_ADDRSTRLEN);
|
||||||
else
|
else
|
||||||
inet_ntop(af, &((sockaddr_in6 *)cur->ifa_addr)->sin6_addr, addr, INET6_ADDRSTRLEN);
|
inet_ntop(af, &((sockaddr_in6 *)cur->ifa_addr)->sin6_addr, addr, INET6_ADDRSTRLEN);
|
||||||
freeifaddrs(addrs);
|
freeifaddrs(addrs);
|
||||||
std::string cur_ifaddr(addr);
|
std::string cur_ifaddr(addr);
|
||||||
|
delete[] addr;
|
||||||
return boost::asio::ip::address::from_string(cur_ifaddr);
|
return boost::asio::ip::address::from_string(cur_ifaddr);
|
||||||
}
|
}
|
||||||
cur = cur->ifa_next;
|
cur = cur->ifa_next;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user