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

@ -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));