mirror of
https://github.com/github/codeql.git
synced 2026-05-01 03:35:13 +02:00
CPP: Add test cases and renumber.
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
| test.cpp:12:2:12:12 | return ... | May return stack-allocated memory. |
|
||||
| test.cpp:20:2:20:12 | return ... | May return stack-allocated memory. |
|
||||
| test.cpp:73:2:73:12 | return ... | May return stack-allocated memory. |
|
||||
| test.cpp:93:2:93:12 | return ... | May return stack-allocated memory. |
|
||||
| test.cpp:100:2:100:19 | return ... | May return stack-allocated memory. |
|
||||
| test.cpp:17:2:17:12 | return ... | May return stack-allocated memory. |
|
||||
| test.cpp:25:2:25:12 | return ... | May return stack-allocated memory. |
|
||||
| test.cpp:33:2:33:12 | return ... | May return stack-allocated memory. |
|
||||
| test.cpp:92:2:92:12 | return ... | May return stack-allocated memory. |
|
||||
| test.cpp:112:2:112:12 | return ... | May return stack-allocated memory. |
|
||||
| test.cpp:119:2:119:19 | return ... | May return stack-allocated memory. |
|
||||
|
||||
@@ -5,6 +5,11 @@ public:
|
||||
int a, b;
|
||||
};
|
||||
|
||||
MyClass makeMyClass()
|
||||
{
|
||||
return { 0, 0 }; // GOOD
|
||||
}
|
||||
|
||||
MyClass *test1()
|
||||
{
|
||||
MyClass mc;
|
||||
@@ -21,6 +26,14 @@ MyClass *test2()
|
||||
}
|
||||
|
||||
MyClass *test3()
|
||||
{
|
||||
MyClass mc;
|
||||
MyClass *ptr = &mc;
|
||||
ptr = nullptr;
|
||||
return ptr; // GOOD [FALSE POSITIVE]
|
||||
}
|
||||
|
||||
MyClass *test4()
|
||||
{
|
||||
MyClass mc;
|
||||
MyClass &ref = mc;
|
||||
@@ -28,40 +41,46 @@ MyClass *test3()
|
||||
return &ref; // BAD [NOT DETECTED]
|
||||
}
|
||||
|
||||
int *test4()
|
||||
MyClass &test5()
|
||||
{
|
||||
MyClass mc;
|
||||
return mc; // BAD [NOT DETECTED]
|
||||
}
|
||||
|
||||
int *test6()
|
||||
{
|
||||
MyClass mc;
|
||||
|
||||
return &(mc.a); // BAD [NOT DETECTED]
|
||||
}
|
||||
|
||||
MyClass test6()
|
||||
MyClass test7()
|
||||
{
|
||||
MyClass mc;
|
||||
|
||||
return mc; // GOOD
|
||||
}
|
||||
|
||||
MyClass *test7()
|
||||
MyClass *test8()
|
||||
{
|
||||
MyClass *mc = new MyClass;
|
||||
|
||||
return mc; // GOOD
|
||||
}
|
||||
|
||||
MyClass test8()
|
||||
MyClass test9()
|
||||
{
|
||||
return MyClass(); // GOOD
|
||||
}
|
||||
|
||||
int test9()
|
||||
int test10()
|
||||
{
|
||||
MyClass mc;
|
||||
|
||||
return mc.a; // GOOD
|
||||
}
|
||||
|
||||
MyClass *test10()
|
||||
MyClass *test11()
|
||||
{
|
||||
MyClass *ptr;
|
||||
|
||||
@@ -73,12 +92,12 @@ MyClass *test10()
|
||||
return ptr; // BAD
|
||||
}
|
||||
|
||||
MyClass *test11(MyClass *param)
|
||||
MyClass *test12(MyClass *param)
|
||||
{
|
||||
return param; // GOOD
|
||||
}
|
||||
|
||||
MyClass *test12()
|
||||
MyClass *test13()
|
||||
{
|
||||
static MyClass mc;
|
||||
MyClass &ref = mc;
|
||||
|
||||
Reference in New Issue
Block a user