mirror of
https://github.com/github/codeql.git
synced 2026-04-28 02:05:14 +02:00
CPP: Additional test cases.
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
| DeleteThis.cpp:56:3:56:24 | ... = ... | Resource ptr10 is acquired by class MyClass3 but not released anywhere in this class. |
|
||||
| DeleteThis.cpp:58:3:58:24 | ... = ... | Resource ptr12 is acquired by class MyClass3 but not released anywhere in this class. |
|
||||
| DeleteThis.cpp:60:3:60:24 | ... = ... | Resource ptr14 is acquired by class MyClass3 but not released anywhere in this class. |
|
||||
| DeleteThis.cpp:127:3:127:20 | ... = ... | Resource d is acquired by class MyClass9 but not released anywhere in this class. |
|
||||
| ExternalOwners.cpp:49:3:49:20 | ... = ... | Resource a is acquired by class MyScreen but not released anywhere in this class. |
|
||||
| ListDelete.cpp:21:3:21:21 | ... = ... | Resource first is acquired by class MyThingColection but not released anywhere in this class. |
|
||||
| NoDestructor.cpp:23:3:23:20 | ... = ... | Resource n is acquired by class MyClass5 but not released anywhere in this class. |
|
||||
|
||||
@@ -102,24 +102,47 @@ class MyClass6 : public MyClass5
|
||||
{
|
||||
};
|
||||
|
||||
class MyClass7
|
||||
class MyClass7 : public MyClass4
|
||||
{
|
||||
public:
|
||||
MyClass7()
|
||||
void Release()
|
||||
{
|
||||
// do nothing
|
||||
}
|
||||
};
|
||||
|
||||
class MyClass8 : public MyClass7
|
||||
{
|
||||
};
|
||||
|
||||
class MyClass9
|
||||
{
|
||||
public:
|
||||
MyClass9()
|
||||
{
|
||||
a = new MyClass5(); // GOOD
|
||||
b = new MyClass5(); // GOOD
|
||||
c = new MyClass6(); // GOOD
|
||||
}
|
||||
|
||||
~MyClass7()
|
||||
d = new MyClass7(); // BAD
|
||||
e = new MyClass7(); // BAD [NOT DETECTED]
|
||||
f = new MyClass8(); // BAD [NOT DETECTED]
|
||||
}
|
||||
~MyClass9()
|
||||
{
|
||||
a->Release();
|
||||
b->Release();
|
||||
c->Release();
|
||||
}
|
||||
a->Release(); // MyClass5::Release()
|
||||
b->Release(); // MyClass5::Release()
|
||||
c->Release(); // MyClass5::Release()
|
||||
|
||||
MyClass5 *a;
|
||||
d->Release(); // MyClass7::Release()
|
||||
e->Release(); // MyClass7::Release()
|
||||
f->Release(); // MyClass7::Release()
|
||||
}
|
||||
MyClass5 *a;
|
||||
MyClass4 *b;
|
||||
MyClass4 *c;
|
||||
|
||||
MyClass7 *d;
|
||||
MyClass4 *e;
|
||||
MyClass4 *f;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user