Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit bd30176

Browse files
committed
C++: Re-introduce the ast annotations in the taint tests
1 parent 0d27d63 commit bd30176

18 files changed

Lines changed: 776 additions & 776 deletions

cpp/ql/test/library-tests/dataflow/taint-tests/arrayassignment.cpp

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ void test_pointer_deref_assignment()
1313

1414
*p_x = source();
1515

16-
sink(x); // $ MISSING: ir
17-
sink(*p_x); // $ ir
18-
sink(*p2_x); // $ MISSING: ir
19-
sink(r_x); // $ MISSING: ir
16+
sink(x); // $ MISSING: ast,ir
17+
sink(*p_x); // $ ast,ir
18+
sink(*p2_x); // $ MISSING: ast,ir
19+
sink(r_x); // $ MISSING: ast,ir
2020
}
2121

2222
void test_reference_deref_assignment()
@@ -28,10 +28,10 @@ void test_reference_deref_assignment()
2828

2929
r_x = source();
3030

31-
sink(x); // $ MISSING: ir
32-
sink(*p_x); // $ MISSING: ir
33-
sink(r_x); // $ ir
34-
sink(r2_x); // $ MISSING: ir
31+
sink(x); // $ MISSING: ast,ir
32+
sink(*p_x); // $ MISSING: ast,ir
33+
sink(r_x); // $ ast,ir
34+
sink(r2_x); // $ MISSING: ast,ir
3535
}
3636

3737
class MyInt
@@ -53,8 +53,8 @@ void test_myint_member_assignment()
5353

5454
mi.i = source();
5555

56-
sink(mi); // $ MISSING: ir
57-
sink(mi.get()); // $ ir
56+
sink(mi); // $ MISSING: ast,ir
57+
sink(mi.get()); // $ ast,ir
5858
}
5959

6060
void test_myint_method_assignment()
@@ -63,8 +63,8 @@ void test_myint_method_assignment()
6363

6464
mi.get() = source();
6565

66-
sink(mi); // $ MISSING: ir
67-
sink(mi.get()); // $ MISSING: ir
66+
sink(mi); // $ MISSING: ast,ir
67+
sink(mi.get()); // $ ast MISSING: ir
6868
}
6969

7070
void test_myint_overloaded_assignment()
@@ -74,10 +74,10 @@ void test_myint_overloaded_assignment()
7474
mi = source();
7575
mi2 = mi;
7676

77-
sink(mi); // $ MISSING: ir
78-
sink(mi.get()); // $ MISSING: ir
79-
sink(mi2); // $ MISSING: ir
80-
sink(mi2.get()); // $ MISSING: ir
77+
sink(mi); // $ MISSING: ast,ir
78+
sink(mi.get()); // $ MISSING: ast,ir
79+
sink(mi2); // $ MISSING: ast,ir
80+
sink(mi2.get()); // $ MISSING: ast,ir
8181
}
8282

8383
class MyArray
@@ -98,7 +98,7 @@ void test_myarray_member_assignment()
9898

9999
ma.values[0] = source();
100100

101-
sink(ma.values[0]); // $ ir
101+
sink(ma.values[0]); // $ ast,ir
102102
}
103103

104104
void test_myarray_method_assignment()
@@ -107,7 +107,7 @@ void test_myarray_method_assignment()
107107

108108
ma.get(0) = source();
109109

110-
sink(ma.get(0)); // $ MISSING: ir
110+
sink(ma.get(0)); // $ MISSING: ast,ir
111111
}
112112

113113
void test_myarray_overloaded_assignment()
@@ -117,8 +117,8 @@ void test_myarray_overloaded_assignment()
117117
ma[0] = source();
118118
ma2 = ma;
119119

120-
sink(ma[0]); // $ MISSING: ir
121-
sink(ma2[0]); // $ MISSING: ir
120+
sink(ma[0]); // $ MISSING: ast,ir
121+
sink(ma2[0]); // $ MISSING: ast,ir
122122
}
123123

124124
void sink(int *);
@@ -132,16 +132,16 @@ void test_array_reference_assignment()
132132
int *ptr2, *ptr3;
133133

134134
ref1 = source();
135-
sink(ref1); // $ ir
136-
sink(arr1[5]); // $ MISSING: ir
135+
sink(ref1); // $ ast,ir
136+
sink(arr1[5]); // $ MISSING: ast,ir
137137

138138
ptr2 = &(arr2[5]);
139139
*ptr2 = source();
140-
sink(*ptr2); // $ ir
141-
sink(arr2[5]); // $ MISSING: ir
140+
sink(*ptr2); // $ ast,ir
141+
sink(arr2[5]); // $ MISSING: ast,ir
142142

143143
ptr3 = arr3;
144144
ptr3[5] = source();
145-
sink(ptr3[5]); // $ ir
146-
sink(arr3[5]); // $ MISSING: ir
145+
sink(ptr3[5]); // $ ast,ir
146+
sink(arr3[5]); // $ MISSING: ast,ir
147147
}

cpp/ql/test/library-tests/dataflow/taint-tests/bsd.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,6 @@ void test_accept() {
1919
int size = sizeof(sockaddr);
2020
int a = accept(s, &addr, &size);
2121

22-
sink(a); // $ ir
23-
sink(addr); // $ MISSING: ir
22+
sink(a); // $ ast=17:11 ir SPURIOUS: ast=18:12
23+
sink(addr); // $ ast MISSING: ir
2424
}

cpp/ql/test/library-tests/dataflow/taint-tests/constructor_delegation.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,14 @@ void test_inits()
3434
MyDerivedValue v11(true, source());
3535

3636
sink(v1.x);
37-
sink(v2.x); // $ ir
37+
sink(v2.x); // $ ast,ir
3838
sink(v3.x);
39-
sink(v4.x); // $ ir
39+
sink(v4.x); // $ ir MISSING: ast
4040
sink(v5.x);
41-
sink(v6.x); // $ ir
42-
sink(v7.x); // $ ir
41+
sink(v6.x); // $ ir MISSING: ast
42+
sink(v7.x); // $ ir MISSING: ast
4343
sink(v8.x);
4444
sink(v9.x);
4545
sink(v10.x);
46-
sink(v11.x); // $ ir
46+
sink(v11.x); // $ ir MISSING: ast
4747
}

cpp/ql/test/library-tests/dataflow/taint-tests/copyableclass.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@ void test_copyableclass()
3737
MyCopyableClass s4;
3838
s4 = source();
3939

40-
sink(s1); // $ ir
41-
sink(s2); // $ ir
42-
sink(s3); // $ ir
43-
sink(s4); // $ ir
40+
sink(s1); // $ ast,ir
41+
sink(s2); // $ ast,ir
42+
sink(s3); // $ ast,ir
43+
sink(s4); // $ ast,ir
4444
}
4545

4646
{
@@ -62,8 +62,8 @@ void test_copyableclass()
6262
MyCopyableClass s3;
6363
s2 = MyCopyableClass(source());
6464

65-
sink(s1); // $ ir
66-
sink(s2); // $ ir
67-
sink(s3 = source()); // $ ir
65+
sink(s1); // $ ast,ir
66+
sink(s2); // $ ast,ir
67+
sink(s3 = source()); // $ ast,ir
6868
}
6969
}

cpp/ql/test/library-tests/dataflow/taint-tests/copyableclass_declonly.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@ void test_copyableclass_declonly()
3737
MyCopyableClassDeclOnly s4;
3838
s4 = source();
3939

40-
sink(s1); // $ ir
41-
sink(s2); // $ ir
42-
sink(s3); // $ ir
43-
sink(s4); // $ ir
40+
sink(s1); // $ ast,ir
41+
sink(s2); // $ ast,ir
42+
sink(s3); // $ ast,ir
43+
sink(s4); // $ ast,ir
4444
}
4545

4646
{
@@ -62,8 +62,8 @@ void test_copyableclass_declonly()
6262
MyCopyableClassDeclOnly s3;
6363
s2 = MyCopyableClassDeclOnly(source());
6464

65-
sink(s1); // $ ir
66-
sink(s2); // $ ir
67-
sink(s3 = source()); // $ ir
65+
sink(s1); // $ ast,ir
66+
sink(s2); // $ ast,ir
67+
sink(s3 = source()); // $ ast,ir
6868
}
6969
}

cpp/ql/test/library-tests/dataflow/taint-tests/format.cpp

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -54,22 +54,22 @@ void test1()
5454
{
5555
char buffer[256] = {0};
5656
sink(snprintf(buffer, 256, "%s", string::source()));
57-
sink(buffer); // $ MISSING: ir
57+
sink(buffer); // $ ast MISSING: ir
5858
}
5959
{
6060
char buffer[256] = {0};
6161
sink(snprintf(buffer, 256, string::source(), "Hello."));
62-
sink(buffer); // $ MISSING: ir
62+
sink(buffer); // $ ast MISSING: ir
6363
}
6464
{
6565
char buffer[256] = {0};
6666
sink(snprintf(buffer, 256, "%s %s %s", "a", "b", string::source()));
67-
sink(buffer); // $ MISSING: ir
67+
sink(buffer); // $ ast MISSING: ir
6868
}
6969
{
7070
char buffer[256] = {0};
7171
sink(snprintf(buffer, 256, "%.*s", 10, string::source()));
72-
sink(buffer); // $ MISSING: ir
72+
sink(buffer); // $ ast MISSING: ir
7373
}
7474

7575
{
@@ -80,39 +80,39 @@ void test1()
8080
{
8181
char buffer[256] = {0};
8282
sink(snprintf(buffer, 256, "%i", source()));
83-
sink(buffer); // $ MISSING: ir
83+
sink(buffer); // $ ast MISSING: ir
8484
}
8585
{
8686
char buffer[256] = {0};
8787
sink(snprintf(buffer, 256, "%.*s", source(), "Hello."));
88-
sink(buffer); // $ MISSING: ir
88+
sink(buffer); // $ ast MISSING: ir
8989
}
9090

9191
{
9292
char buffer[256] = {0};
9393
sink(snprintf(buffer, 256, "%p", string::source()));
94-
sink(buffer); // $ MISSING: ir // tainted (debatable)
94+
sink(buffer); // $ ast MISSING: ir // tainted (debatable)
9595
}
9696

9797
{
9898
char buffer[256] = {0};
9999
sink(sprintf(buffer, "%s", string::source()));
100-
sink(buffer); // $ MISSING: ir
100+
sink(buffer); // $ ast MISSING: ir
101101
}
102102
{
103103
char buffer[256] = {0};
104104
sink(sprintf(buffer, "%ls", wstring::source()));
105-
sink(buffer); // $ MISSING: ir
105+
sink(buffer); // $ ast MISSING: ir
106106
}
107107
{
108108
wchar_t wbuffer[256] = {0};
109109
sink(swprintf(wbuffer, 256, L"%s", wstring::source()));
110-
sink(wbuffer); // $ MISSING: ir
110+
sink(wbuffer); // $ ast MISSING: ir
111111
}
112112
{
113113
char buffer[256] = {0};
114114
sink(mysprintf(buffer, 256, "%s", string::source()));
115-
sink(buffer); // $ MISSING: ir
115+
sink(buffer); // $ ast MISSING: ir
116116
}
117117

118118
{
@@ -123,7 +123,7 @@ void test1()
123123
{
124124
int i = 0;
125125
sink(sscanf(string::source(), "%i", &i));
126-
sink(i); // $ ir
126+
sink(i); // $ ast,ir
127127
}
128128
{
129129
char buffer[256] = {0};
@@ -133,7 +133,7 @@ void test1()
133133
{
134134
char buffer[256] = {0};
135135
sink(sscanf(string::source(), "%s", &buffer));
136-
sink(buffer); // $ MISSING: ir
136+
sink(buffer); // $ ast MISSING: ir
137137
}
138138
}
139139

@@ -154,6 +154,6 @@ void test2()
154154
i = strlen(s) + 1;
155155
sink(i);
156156

157-
sink(s[strlen(s) - 1]); // $ ir
158-
sink(ws + (wcslen(ws) / 2)); // $ ir
157+
sink(s[strlen(s) - 1]); // $ ast,ir
158+
sink(ws + (wcslen(ws) / 2)); // $ ast,ir
159159
}

0 commit comments

Comments
 (0)