1
0
Fork 0
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:
Winlin 2022-11-18 11:19:01 +08:00 committed by GitHub
parent be0241efdb
commit 368356c223
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
18 changed files with 360 additions and 154 deletions

View file

@ -3331,6 +3331,12 @@ SrsCreateStreamPacket::~SrsCreateStreamPacket()
srs_freep(command_object);
}
void SrsCreateStreamPacket::set_command_object(SrsAmf0Any* v)
{
srs_freep(command_object);
command_object = v;
}
srs_error_t SrsCreateStreamPacket::decode(SrsBuffer* stream)
{
srs_error_t err = srs_success;
@ -3509,6 +3515,12 @@ SrsFMLEStartPacket::~SrsFMLEStartPacket()
srs_freep(command_object);
}
void SrsFMLEStartPacket::set_command_object(SrsAmf0Any* v)
{
srs_freep(command_object);
command_object = v;
}
srs_error_t SrsFMLEStartPacket::decode(SrsBuffer* stream)
{
srs_error_t err = srs_success;
@ -3613,6 +3625,18 @@ SrsFMLEStartResPacket::~SrsFMLEStartResPacket()
srs_freep(args);
}
void SrsFMLEStartResPacket::set_args(SrsAmf0Any* v)
{
srs_freep(args);
args = v;
}
void SrsFMLEStartResPacket::set_command_object(SrsAmf0Any* v)
{
srs_freep(command_object);
command_object = v;
}
srs_error_t SrsFMLEStartResPacket::decode(SrsBuffer* stream)
{
srs_error_t err = srs_success;
@ -3691,6 +3715,12 @@ SrsPublishPacket::~SrsPublishPacket()
srs_freep(command_object);
}
void SrsPublishPacket::set_command_object(SrsAmf0Any* v)
{
srs_freep(command_object);
command_object = v;
}
srs_error_t SrsPublishPacket::decode(SrsBuffer* stream)
{
srs_error_t err = srs_success;
@ -3961,6 +3991,18 @@ SrsPlayResPacket::~SrsPlayResPacket()
srs_freep(desc);
}
void SrsPlayResPacket::set_command_object(SrsAmf0Any* v)
{
srs_freep(command_object);
command_object = v;
}
void SrsPlayResPacket::set_desc(SrsAmf0Object* v)
{
srs_freep(desc);
desc = v;
}
int SrsPlayResPacket::get_prefer_cid()
{
return RTMP_CID_OverStream;
@ -4012,6 +4054,12 @@ SrsOnBWDonePacket::~SrsOnBWDonePacket()
srs_freep(args);
}
void SrsOnBWDonePacket::set_args(SrsAmf0Any* v)
{
srs_freep(args);
args = v;
}
int SrsOnBWDonePacket::get_prefer_cid()
{
return RTMP_CID_OverConnection;
@ -4061,6 +4109,18 @@ SrsOnStatusCallPacket::~SrsOnStatusCallPacket()
srs_freep(data);
}
void SrsOnStatusCallPacket::set_args(SrsAmf0Any* v)
{
srs_freep(args);
args = v;
}
void SrsOnStatusCallPacket::set_data(SrsAmf0Object* v)
{
srs_freep(data);
data = v;
}
int SrsOnStatusCallPacket::get_prefer_cid()
{
return RTMP_CID_OverStream;
@ -4111,6 +4171,12 @@ SrsOnStatusDataPacket::~SrsOnStatusDataPacket()
srs_freep(data);
}
void SrsOnStatusDataPacket::set_data(SrsAmf0Object* v)
{
srs_freep(data);
data = v;
}
int SrsOnStatusDataPacket::get_prefer_cid()
{
return RTMP_CID_OverStream;
@ -4198,6 +4264,12 @@ SrsOnMetaDataPacket::~SrsOnMetaDataPacket()
srs_freep(metadata);
}
void SrsOnMetaDataPacket::set_metadata(SrsAmf0Object* v)
{
srs_freep(metadata);
metadata = v;
}
srs_error_t SrsOnMetaDataPacket::decode(SrsBuffer* stream)
{
srs_error_t err = srs_success;