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
|
|
@ -636,6 +636,7 @@ VOID TEST(HTTPServerTest, ContentLength)
|
|||
|
||||
SrsHttpParser hp; HELPER_ASSERT_SUCCESS(hp.initialize(HTTP_RESPONSE));
|
||||
ISrsHttpMessage* msg = NULL; HELPER_ASSERT_SUCCESS(hp.parse_message(&io, &msg));
|
||||
SrsAutoFree(ISrsHttpMessage, msg);
|
||||
|
||||
char buf[32]; ssize_t nread = 0;
|
||||
ISrsHttpResponseReader* r = msg->body_reader();
|
||||
|
|
@ -664,6 +665,7 @@ VOID TEST(HTTPServerTest, HTTPChunked)
|
|||
|
||||
SrsHttpParser hp; HELPER_ASSERT_SUCCESS(hp.initialize(HTTP_RESPONSE));
|
||||
ISrsHttpMessage* msg = NULL; HELPER_ASSERT_SUCCESS(hp.parse_message(&io, &msg));
|
||||
SrsAutoFree(ISrsHttpMessage, msg);
|
||||
|
||||
char buf[32]; ssize_t nread = 0;
|
||||
ISrsHttpResponseReader* r = msg->body_reader();
|
||||
|
|
@ -720,6 +722,7 @@ VOID TEST(HTTPServerTest, InfiniteChunked)
|
|||
|
||||
SrsHttpParser hp; HELPER_ASSERT_SUCCESS(hp.initialize(HTTP_RESPONSE));
|
||||
ISrsHttpMessage* msg = NULL; HELPER_ASSERT_SUCCESS(hp.parse_message(&io, &msg));
|
||||
SrsAutoFree(ISrsHttpMessage, msg);
|
||||
|
||||
char buf[32]; ssize_t nread = 0;
|
||||
ISrsHttpResponseReader* r = msg->body_reader();
|
||||
|
|
@ -1110,7 +1113,7 @@ VOID TEST(TCPServerTest, CoverUtility)
|
|||
hints.ai_family = AF_INET;
|
||||
|
||||
addrinfo* r = NULL;
|
||||
SrsAutoFree(addrinfo, r);
|
||||
SrsAutoFreeH(addrinfo, r, freeaddrinfo);
|
||||
ASSERT_TRUE(!getaddrinfo("127.0.0.1", NULL, &hints, &r));
|
||||
|
||||
EXPECT_FALSE(srs_net_device_is_internet((sockaddr*)r->ai_addr));
|
||||
|
|
@ -1123,7 +1126,7 @@ VOID TEST(TCPServerTest, CoverUtility)
|
|||
hints.ai_family = AF_INET;
|
||||
|
||||
addrinfo* r = NULL;
|
||||
SrsAutoFree(addrinfo, r);
|
||||
SrsAutoFreeH(addrinfo, r, freeaddrinfo);
|
||||
ASSERT_TRUE(!getaddrinfo("192.168.0.1", NULL, &hints, &r));
|
||||
|
||||
EXPECT_FALSE(srs_net_device_is_internet((sockaddr*)r->ai_addr));
|
||||
|
|
@ -1168,7 +1171,7 @@ VOID TEST(TCPServerTest, CoverUtility)
|
|||
hints.ai_family = AF_INET6;
|
||||
|
||||
addrinfo* r = NULL;
|
||||
SrsAutoFree(addrinfo, r);
|
||||
SrsAutoFreeH(addrinfo, r, freeaddrinfo);
|
||||
ASSERT_TRUE(!getaddrinfo("2001:da8:6000:291:21f:d0ff:fed4:928c", NULL, &hints, &r));
|
||||
|
||||
EXPECT_TRUE(srs_net_device_is_internet((sockaddr*)r->ai_addr));
|
||||
|
|
@ -1179,7 +1182,7 @@ VOID TEST(TCPServerTest, CoverUtility)
|
|||
hints.ai_family = AF_INET6;
|
||||
|
||||
addrinfo* r = NULL;
|
||||
SrsAutoFree(addrinfo, r);
|
||||
SrsAutoFreeH(addrinfo, r, freeaddrinfo);
|
||||
ASSERT_TRUE(!getaddrinfo("3ffe:dead:beef::1", NULL, &hints, &r));
|
||||
|
||||
EXPECT_TRUE(srs_net_device_is_internet((sockaddr*)r->ai_addr));
|
||||
|
|
@ -1192,7 +1195,7 @@ VOID TEST(TCPServerTest, CoverUtility)
|
|||
hints.ai_family = AF_INET6;
|
||||
|
||||
addrinfo* r = NULL;
|
||||
SrsAutoFree(addrinfo, r);
|
||||
SrsAutoFreeH(addrinfo, r, freeaddrinfo);
|
||||
ASSERT_TRUE(!getaddrinfo("::", NULL, &hints, &r));
|
||||
|
||||
EXPECT_FALSE(srs_net_device_is_internet((sockaddr*)r->ai_addr));
|
||||
|
|
@ -1205,7 +1208,7 @@ VOID TEST(TCPServerTest, CoverUtility)
|
|||
hints.ai_family = AF_INET6;
|
||||
|
||||
addrinfo* r = NULL;
|
||||
SrsAutoFree(addrinfo, r);
|
||||
SrsAutoFreeH(addrinfo, r, freeaddrinfo);
|
||||
ASSERT_TRUE(!getaddrinfo("fec0::", NULL, &hints, &r));
|
||||
|
||||
EXPECT_FALSE(srs_net_device_is_internet((sockaddr*)r->ai_addr));
|
||||
|
|
@ -1218,7 +1221,7 @@ VOID TEST(TCPServerTest, CoverUtility)
|
|||
hints.ai_family = AF_INET6;
|
||||
|
||||
addrinfo* r = NULL;
|
||||
SrsAutoFree(addrinfo, r);
|
||||
SrsAutoFreeH(addrinfo, r, freeaddrinfo);
|
||||
ASSERT_TRUE(!getaddrinfo("FE80::", NULL, &hints, &r));
|
||||
|
||||
EXPECT_FALSE(srs_net_device_is_internet((sockaddr*)r->ai_addr));
|
||||
|
|
@ -1231,7 +1234,7 @@ VOID TEST(TCPServerTest, CoverUtility)
|
|||
hints.ai_family = AF_INET6;
|
||||
|
||||
addrinfo* r = NULL;
|
||||
SrsAutoFree(addrinfo, r);
|
||||
SrsAutoFreeH(addrinfo, r, freeaddrinfo);
|
||||
ASSERT_TRUE(!getaddrinfo("::1", NULL, &hints, &r));
|
||||
|
||||
EXPECT_FALSE(srs_net_device_is_internet((sockaddr*)r->ai_addr));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue