mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
Support address sanitizer for utest and fix some leaks. (#3242)
* MP4: Fix memory leak when error. * Kernel: Support free global objects for utest. * HTTP: Fix memory leak when error. * MP4: Support more sample rate for audio. * RTMP: Support free field for utest. * UTest: Support address sanitizer.
This commit is contained in:
parent
be0241efdb
commit
368356c223
18 changed files with 360 additions and 154 deletions
|
@ -665,6 +665,17 @@ bool srs_net_device_is_internet(const sockaddr* addr)
|
|||
}
|
||||
|
||||
vector<SrsIPAddress*> _srs_system_ips;
|
||||
void srs_free_global_system_ips()
|
||||
{
|
||||
vector<SrsIPAddress*>& ips = _srs_system_ips;
|
||||
|
||||
// Release previous IPs.
|
||||
for (int i = 0; i < (int)ips.size(); i++) {
|
||||
SrsIPAddress* ip = ips[i];
|
||||
srs_freep(ip);
|
||||
}
|
||||
ips.clear();
|
||||
}
|
||||
|
||||
void discover_network_iface(ifaddrs* cur, vector<SrsIPAddress*>& ips, stringstream& ss0, stringstream& ss1, bool ipv6, bool loopback)
|
||||
{
|
||||
|
@ -702,14 +713,10 @@ void discover_network_iface(ifaddrs* cur, vector<SrsIPAddress*>& ips, stringstre
|
|||
|
||||
void retrieve_local_ips()
|
||||
{
|
||||
vector<SrsIPAddress*>& ips = _srs_system_ips;
|
||||
|
||||
// Release previous IPs.
|
||||
for (int i = 0; i < (int)ips.size(); i++) {
|
||||
SrsIPAddress* ip = ips[i];
|
||||
srs_freep(ip);
|
||||
}
|
||||
ips.clear();
|
||||
srs_free_global_system_ips();
|
||||
|
||||
vector<SrsIPAddress*>& ips = _srs_system_ips;
|
||||
|
||||
// Get the addresses.
|
||||
ifaddrs* ifap;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue