修复 http2 解析层内存泄露;修复 http/http2 测试用例中的内存泄露

This commit is contained in:
luwenpeng
2020-10-15 19:46:02 +08:00
parent 0af5267002
commit be94218509
4 changed files with 91 additions and 59 deletions

View File

@@ -226,8 +226,9 @@ protected:
void TearDown() override
{
hf_content_compress_destroy(cv_compress_object);
evbuffer_free(buf);
hf_content_uncompress_destroy(cv_uncompress_object);
hf_content_compress_destroy(cv_compress_object);
evbuffer_free(buf);
}
protected:

View File

@@ -29,6 +29,7 @@ TEST(HttpHalfRequestParser, ProtoIdentifyIsHTTP)
strlen(__identify_http_request));
EXPECT_EQ(ret, 0);
hf_private_destory(hf_request);
}
TEST(HttpHalfRequestParser, ProtoIdentifyNotHTTP)
@@ -40,6 +41,7 @@ TEST(HttpHalfRequestParser, ProtoIdentifyNotHTTP)
strlen(__identify_not_http_request));
EXPECT_EQ(ret, -1);
hf_private_destory(hf_request);
}
static const char * __get_http_request_no_body =
@@ -145,6 +147,7 @@ TEST(HttpHalfRequestParser, GetWithNoBody)
ASSERT_EQ(ret, 1);
__get_http_request_header_verify_helper(hf_request);
hf_private_destory(hf_request);
}
TEST(HttpHalfRequestParserCallback, GetWithNoBody)
@@ -159,6 +162,7 @@ TEST(HttpHalfRequestParserCallback, GetWithNoBody)
hf_private_set_callback(hf_request, __get_http_request_01_callback, &__expect_id, NULL);
hf_private_parse(hf_request, __data, __datalen);
__get_http_request_header_verify_helper(hf_request);
hf_private_destory(hf_request);
}
/*
@@ -428,6 +432,7 @@ TEST(HttpHalfRequestParser, PostWithBody)
ASSERT_EQ(ret, 1);
__http_post_header_verify_helper(hf_request);
hf_private_destory(hf_request);
}
TEST(HttpHalfRequestParserCallback, PostWithBody)
@@ -449,6 +454,8 @@ TEST(HttpHalfRequestParserCallback, PostWithBody)
EXPECT_TRUE(ctx->req_body_cont_called);
EXPECT_TRUE(ctx->req_body_end_called);
EXPECT_TRUE(ctx->req_end_called);
delete(ctx);
hf_private_destory(hf_request);
}
class HttpHalfResponseParser : public ::testing::Test
@@ -1535,6 +1542,7 @@ TEST(HttpHalfRequestParser, SplitRequestAtHeader)
EXPECT_EQ(ret, 1);
EXPECT_EQ(hf_request->parse_cursor, strlen(__str_test_split_http_2));
hf_private_destory(hf_request);
}
TEST(HttpHalfRequestParser, SplitResponseAtHeader)
@@ -1548,6 +1556,7 @@ TEST(HttpHalfRequestParser, SplitResponseAtHeader)
EXPECT_EQ(ret, 0);
EXPECT_EQ(hf_request->parse_cursor, strlen(__str_test_split_http_resp_1));
hf_private_destory(hf_request);
}
void tfe_stream_write_access_log(const struct tfe_stream * stream, int level, const char * fmt, ...)