File tree Expand file tree Collapse file tree 2 files changed +11
-4
lines changed
cpp/ql/test/query-tests/jsf/4.10 Classes/AV Rule 79 Expand file tree Collapse file tree 2 files changed +11
-4
lines changed Original file line number Diff line number Diff line change 18
18
| NoDestructor.cpp:23:3:23:20 | ... = ... | Resource n is acquired by class MyClass5 but not released anywhere in this class. |
19
19
| PlacementNew.cpp:36:3:36:36 | ... = ... | Resource p1 is acquired by class MyTestForPlacementNew but not released anywhere in this class. |
20
20
| SelfRegistering.cpp:25:3:25:24 | ... = ... | Resource side is acquired by class MyOwner but not released anywhere in this class. |
21
- | Variants.cpp:25:3:25:13 | ... = ... | Resource f is acquired by class MyClass4 but not released anywhere in this class. |
22
- | Variants.cpp:65:3:65:17 | ... = ... | Resource a is acquired by class MyClass6 but not released anywhere in this class. |
23
- | Variants.cpp:66:3:66:36 | ... = ... | Resource b is acquired by class MyClass6 but not released anywhere in this class. |
24
- | Variants.cpp:67:3:67:41 | ... = ... | Resource c is acquired by class MyClass6 but not released anywhere in this class. |
21
+ | Variants.cpp:26:3:26:13 | ... = ... | Resource f is acquired by class MyClass4 but not released anywhere in this class. |
22
+ | Variants.cpp:69:3:69:17 | ... = ... | Resource a is acquired by class MyClass6 but not released anywhere in this class. |
23
+ | Variants.cpp:70:3:70:36 | ... = ... | Resource b is acquired by class MyClass6 but not released anywhere in this class. |
24
+ | Variants.cpp:71:3:71:41 | ... = ... | Resource c is acquired by class MyClass6 but not released anywhere in this class. |
25
+ | Variants.cpp:72:3:72:22 | ... = ... | Resource d is acquired by class MyClass6 but not released anywhere in this class. |
25
26
| Wrapped.cpp:46:3:46:22 | ... = ... | Resource ptr2 is acquired by class Wrapped2 but not released anywhere in this class. |
26
27
| Wrapped.cpp:59:3:59:22 | ... = ... | Resource ptr4 is acquired by class Wrapped2 but not released anywhere in this class. |
Original file line number Diff line number Diff line change @@ -5,6 +5,7 @@ void *malloc(size_t size);
5
5
void *calloc (size_t nmemb, size_t size);
6
6
void *realloc (void *ptr, size_t size);
7
7
void free (void * ptr);
8
+ char *strdup (const char *s1);
8
9
9
10
int *ID (int *x)
10
11
{
@@ -45,16 +46,19 @@ class MyClass5
45
46
a = new int [10 ]; // GOOD
46
47
b = (int *)calloc (10 , sizeof (int )); // GOOD
47
48
c = (int *)realloc (0 , 10 * sizeof (int )); // GOOD
49
+ d = strdup (" string" );
48
50
}
49
51
50
52
~MyClass5 ()
51
53
{
52
54
delete [] a;
53
55
free (b);
54
56
free (c);
57
+ free (d);
55
58
}
56
59
57
60
int *a, *b, *c;
61
+ char *d;
58
62
};
59
63
60
64
class MyClass6
@@ -65,13 +69,15 @@ class MyClass6
65
69
a = new int [10 ]; // BAD
66
70
b = (int *)calloc (10 , sizeof (int )); // BAD
67
71
c = (int *)realloc (0 , 10 * sizeof (int )); // BAD
72
+ d = strdup (" string" ); // BAD
68
73
}
69
74
70
75
~MyClass6 ()
71
76
{
72
77
}
73
78
74
79
int *a, *b, *c;
80
+ char *d;
75
81
};
76
82
77
83
class MyClass7
You can’t perform that action at this time.
0 commit comments