Skip to content

Commit 22cf3f7

Browse files
authored
Update test.cpp
1 parent ccbb443 commit 22cf3f7

File tree

1 file changed

+44
-44
lines changed
  • cpp/ql/test/experimental/query-tests/Security/CWE/CWE-476/semmle/tests

1 file changed

+44
-44
lines changed

cpp/ql/test/experimental/query-tests/Security/CWE/CWE-476/semmle/tests/test.cpp

Lines changed: 44 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@ struct myGlobalData
2929
myData** bufMyData;
3030
};
3131

32-
void allocData(myGlobalData * dataP) {
33-
for (size_t i = 0; i < dataP->sizeInt; i++)
32+
void allocData(myData ** bufMyData) {
33+
for (size_t i = 0; i < 10; i++)
3434
{
35-
dataP->bufMyData[i] = new myData;
36-
dataP->bufMyData[i]->sizeInt = 10;
37-
dataP->bufMyData[i]->buffer = new char[dataP->bufMyData[i]->sizeInt];
35+
bufMyData[i] = new myData;
36+
bufMyData[i]->sizeInt = 10;
37+
bufMyData[i]->buffer = new char[10];
3838
}
3939
}
4040

@@ -47,68 +47,68 @@ void throwFunction2(int a) {
4747
}
4848
void funcWork1b() {
4949
int a;
50-
myGlobalData *valData = new myGlobalData;
50+
myData **bufMyData;
5151

5252
try {
5353
cleanFunction();
5454
throwFunction(a);
55-
valData->sizeInt = 10;
56-
valData->bufMyData = new myData*[valData->sizeInt];
55+
56+
bufMyData = new myData*[10];
5757
cleanFunction();
58-
allocData(valData);
58+
allocData(bufMyData);
5959
cleanFunction();
6060

6161
}
6262
catch (...)
6363
{
64-
for (size_t i = 0; i < valData->sizeInt; i++)
64+
for (size_t i = 0; i < 10; i++)
6565
{
66-
delete[] valData->bufMyData[i]->buffer; // BAD
67-
delete valData->bufMyData[i];
66+
delete[] bufMyData[i]->buffer; // BAD
67+
delete bufMyData[i];
6868
}
69-
delete [] valData->bufMyData;
70-
delete valData;
69+
delete [] bufMyData;
70+
7171
}
7272
}
7373

7474
void funcWork1() {
7575
int a;
7676
int i;
77-
myGlobalData *valData = new myGlobalData;
78-
valData->sizeInt = 10;
79-
valData->bufMyData = new myData*[valData->sizeInt];
80-
for (i = 0; i < valData->sizeInt; i++)
81-
valData->bufMyData[i] = 0;
77+
myData **bufMyData;
78+
79+
bufMyData = new myData*[10];
80+
for (i = 0; i < 10; i++)
81+
bufMyData[i] = 0;
8282
try {
8383
cleanFunction();
8484
throwFunction(a);
8585
cleanFunction();
86-
allocData(valData);
86+
allocData(bufMyData);
8787
cleanFunction();
8888

8989
}
9090
catch (...)
9191
{
92-
for (size_t i = 0; i < valData->sizeInt; i++)
92+
for (size_t i = 0; i < 10; i++)
9393
{
94-
if (valData->bufMyData[i])
95-
delete[] valData->bufMyData[i]->buffer; // GOOD
96-
delete valData->bufMyData[i];
94+
if (bufMyData[i])
95+
delete[] bufMyData[i]->buffer; // GOOD
96+
delete bufMyData[i];
9797
}
98-
delete [] valData->bufMyData;
99-
delete valData;
98+
delete [] bufMyData;
99+
100100
}
101101
}
102102

103103
void funcWork2() {
104104
int a;
105-
myGlobalData *valData = new myGlobalData;
106-
valData->sizeInt = 10;
107-
valData->bufMyData = new myData*[valData->sizeInt];
105+
myData **bufMyData;
106+
107+
bufMyData = new myData*[10];
108108
try {
109109
do {
110110
cleanFunction();
111-
allocData(valData);
111+
allocData(bufMyData);
112112
cleanFunction();
113113
throwFunction(a);
114114

@@ -118,36 +118,36 @@ void funcWork2() {
118118
}
119119
catch (...)
120120
{
121-
for (size_t i = 0; i < valData->sizeInt; i++)
121+
for (size_t i = 0; i < 10; i++)
122122
{
123-
delete[] valData->bufMyData[i]->buffer; // GOOD
124-
delete valData->bufMyData[i];
123+
delete[] bufMyData[i]->buffer; // GOOD
124+
delete bufMyData[i];
125125
}
126-
delete [] valData->bufMyData;
127-
delete valData;
126+
delete [] bufMyData;
127+
128128
}
129129
}
130130
void funcWork3() {
131131
int a;
132-
myGlobalData *valData = new myGlobalData;
133-
valData->sizeInt = 10;
134-
valData->bufMyData = new myData*[valData->sizeInt];
132+
myData **bufMyData;
133+
134+
bufMyData = new myData*[10];
135135
try {
136136
cleanFunction();
137-
allocData(valData);
137+
allocData(bufMyData);
138138
cleanFunction();
139139
throwFunction(a);
140140

141141
}
142142
catch (...)
143143
{
144-
for (size_t i = 0; i < valData->sizeInt; i++)
144+
for (size_t i = 0; i < 10; i++)
145145
{
146-
delete[] valData->bufMyData[i]->buffer; // GOOD
147-
delete valData->bufMyData[i];
146+
delete[] bufMyData[i]->buffer; // GOOD
147+
delete bufMyData[i];
148148
}
149-
delete [] valData->bufMyData;
150-
delete valData;
149+
delete [] bufMyData;
150+
151151
}
152152
}
153153

0 commit comments

Comments
 (0)