Skip to content

Commit 6676ad0

Browse files
committed
unsafeClassCanLeak test
1 parent e6cced3 commit 6676ad0

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

test/testmemleak.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -533,6 +533,7 @@ class TestMemleakInClass : public TestFixture {
533533
TEST_CASE(class25); // ticket #4367 - false positive implementation for destructor is not seen
534534
TEST_CASE(class26); // ticket #10789
535535
TEST_CASE(class27); // ticket #8126
536+
TEST_CASE(class28);
536537

537538
TEST_CASE(staticvar);
538539

@@ -1484,6 +1485,15 @@ class TestMemleakInClass : public TestFixture {
14841485
ASSERT_EQUALS("[test.cpp:6:11]: (style) Class 'S' is unsafe, 'S::a' can leak by wrong usage. [unsafeClassCanLeak]\n", errout_str());
14851486
}
14861487

1488+
void class28() {
1489+
check("struct S {\n"
1490+
" explicit S(char *name) { m_fd = mkstemp(name); }\n"
1491+
" ~S() { /* close(m_fd); */ }\n"
1492+
" int m_fd;\n"
1493+
"};\n");
1494+
ASSERT_EQUALS("[test.cpp:4:9]: (style) Class 'S' is unsafe, 'S::m_fd' can leak by wrong usage. [unsafeClassCanLeak]\n", errout_str());
1495+
}
1496+
14871497
void staticvar() {
14881498
check("class A\n"
14891499
"{\n"

0 commit comments

Comments
 (0)