memory leaks: added a todo test case for struct members when using if-else
This commit is contained in:
parent
5b81c92a14
commit
73c028bdb7
|
@ -2839,6 +2839,9 @@ private:
|
||||||
|
|
||||||
// Deallocating in a function
|
// Deallocating in a function
|
||||||
TEST_CASE(function);
|
TEST_CASE(function);
|
||||||
|
|
||||||
|
// Handle if-else
|
||||||
|
TEST_CASE(ifelse);
|
||||||
}
|
}
|
||||||
|
|
||||||
void err()
|
void err()
|
||||||
|
@ -2974,6 +2977,26 @@ private:
|
||||||
"}\n");
|
"}\n");
|
||||||
ASSERT_EQUALS("", errout.str());
|
ASSERT_EQUALS("", errout.str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ifelse()
|
||||||
|
{
|
||||||
|
check("static void foo()\n"
|
||||||
|
"{\n"
|
||||||
|
" struct ABC *abc = malloc(sizeof(struct ABC));\n"
|
||||||
|
" if (x)"
|
||||||
|
" {\n"
|
||||||
|
" abc->a = malloc(10);\n"
|
||||||
|
" }\n"
|
||||||
|
" else\n"
|
||||||
|
" {\n"
|
||||||
|
" free(abc);\n"
|
||||||
|
" return;\n"
|
||||||
|
" }\n"
|
||||||
|
" free(abc->a);\n"
|
||||||
|
" free(abc);\n"
|
||||||
|
"}\n");
|
||||||
|
TODO_ASSERT_EQUALS("", errout.str());
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue