Skip to content

Commit d38121f

Browse files
authored
Merge pull request #4394 from geoffw0/oddsends2
C++: Clean up and add to taint tests
2 parents 78c58c2 + 8d5febf commit d38121f

File tree

6 files changed

+1156
-1121
lines changed

6 files changed

+1156
-1121
lines changed

cpp/ql/test/library-tests/dataflow/taint-tests/localTaint.expected

Lines changed: 894 additions & 874 deletions
Large diffs are not rendered by default.

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,15 @@ class non_iterator {
3737
};
3838

3939
void test_typedefs(int_iterator_by_typedefs source1) {
40-
sink(*source1);
41-
sink(*(source1++));
42-
sink(*(++source1));
40+
sink(*source1); // tainted
41+
sink(*(source1++)); // tainted
42+
sink(*(++source1)); // tainted
4343
}
4444

4545
void test_trait(int_iterator_by_trait source1) {
46-
sink(*source1);
47-
sink(*(source1++));
48-
sink(*(++source1));
46+
sink(*source1); // tainted
47+
sink(*(source1++)); // tainted
48+
sink(*(++source1)); // tainted
4949
}
5050

5151
void test_non_iterator(non_iterator source1) {

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

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ void sink(const char *s);
1818
void sink(const std::string &s);
1919
void sink(const char *filename, const char *mode);
2020
void sink(char);
21+
void sink(std::string::iterator);
2122

2223
void test_string()
2324
{
@@ -349,6 +350,7 @@ void test_string_data_more()
349350
sink(str); // tainted
350351
sink(str.data()); // tainted
351352
}
353+
352354
void test_string_iterators() {
353355
// string append
354356
{
@@ -389,7 +391,7 @@ void test_string_iterators() {
389391
string::iterator i1 = s1.begin();
390392

391393
string::iterator i2 = s2.begin();
392-
string::iterator i3, i4, i5, i6, i7, i8, i9;
394+
string::iterator i3, i4, i5, i6, i7, i8, i9, i10, i11;
393395

394396
sink(*(i2+1)); //tainted
395397
sink(*(i2-1)); // tainted
@@ -411,6 +413,13 @@ void test_string_iterators() {
411413
i9 = s2.end();
412414
--i9;
413415
sink(*i9); // tainted
416+
417+
i10 = i2;
418+
sink(*(i10++)); // tainted
419+
sink(i10); // tainted
420+
i11 = i2;
421+
sink(*(i11--)); // tainted
422+
sink(i11); // tainted
414423
}
415424
}
416425

@@ -428,8 +437,6 @@ void test_string_insert_more()
428437
sink(s2); // tainted
429438
}
430439

431-
void sink(std::string::iterator);
432-
433440
void test_string_iterator_methods()
434441
{
435442
{

0 commit comments

Comments
 (0)