mirror of
https://github.com/github/codeql.git
synced 2025-12-16 16:53:25 +01:00
102 lines
1.5 KiB
C++
102 lines
1.5 KiB
C++
// GOOD = at least one iteration
|
|
// BAD = possibly no iterations
|
|
|
|
void test1() {
|
|
for (int i = 0; i < 10; i++) { // GOOD
|
|
}
|
|
}
|
|
|
|
void test2() {
|
|
for (int i = 0, j = 1; i + j < 10; i++) { // GOOD
|
|
}
|
|
}
|
|
|
|
void test3() {
|
|
int j = 2;
|
|
for (int i = j = 1; i + j < 10; i++) { // GOOD
|
|
}
|
|
}
|
|
|
|
void test4() {
|
|
int i = 2, j = 3;
|
|
for (i = j = 1; i + j < 10; i++) { // GOOD
|
|
}
|
|
}
|
|
|
|
void test5() {
|
|
int i, k;
|
|
for (i = k = 0; i < 10; i++) { // GOOD
|
|
}
|
|
}
|
|
|
|
void test6() {
|
|
int i = 0;
|
|
for (; i < 10; i++) { // GOOD
|
|
i = 1;
|
|
}
|
|
}
|
|
|
|
void test7() {
|
|
int i = 0;
|
|
for (i = 1; i < 10; i++) { // GOOD
|
|
i = 1;
|
|
}
|
|
}
|
|
|
|
void test8() {
|
|
int i = 0;
|
|
i = 1;
|
|
for (; i < 10; i++) { // GOOD (NOT REPORTED)
|
|
}
|
|
}
|
|
|
|
void test9() {
|
|
bool done = false;
|
|
for (; !done; ) { // GOOD
|
|
done = true;
|
|
}
|
|
}
|
|
|
|
void test10(int i) {
|
|
bool done = false;
|
|
for (; i++; i < 10) { // BAD
|
|
for (; !done; ) { // BAD
|
|
done = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
void test11(int i) {
|
|
for (; i++; i < 10) { // BAD
|
|
bool done = false;
|
|
for (; !done; ) { // GOOD
|
|
done = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
void test12(int max) {
|
|
int i, k;
|
|
int max_index = 0;
|
|
for (i = k = 0; i < max; i++) { // BAD
|
|
max_index = i;
|
|
}
|
|
for (i = 0; i <= max_index; i++) { // BAD
|
|
}
|
|
}
|
|
|
|
void test13() {
|
|
int i;
|
|
for (i = 1; i > 0; ) { // GOOD
|
|
&i;
|
|
}
|
|
}
|
|
|
|
void test14(bool b) {
|
|
int i = 1;
|
|
while (b) {
|
|
for (; i > 0; ) { // BAD
|
|
&i;
|
|
}
|
|
}
|
|
} |