Skip to content

Commit 55d44f4

Browse files
committed
Fix compilation error for FIO38 test
1 parent 9fc7a9b commit 55d44f4

File tree

6 files changed

+102
-5
lines changed

6 files changed

+102
-5
lines changed
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
| test.c:10:20:10:26 | * ... | A FILE object is being copied. |
2-
| test.c:17:21:17:30 | * ... | A FILE object is being copied. |
3-
| test.c:23:21:23:31 | * ... | A FILE object is being copied. |
4-
| test.c:29:15:29:21 | * ... | A FILE object is being copied. |
5-
| test.c:42:19:42:28 | * ... | A FILE object is being copied. |
1+
| test.c:11:20:11:26 | * ... | A FILE object is being copied. |
2+
| test.c:18:21:18:30 | * ... | A FILE object is being copied. |
3+
| test.c:24:21:24:31 | * ... | A FILE object is being copied. |
4+
| test.c:30:15:30:21 | * ... | A FILE object is being copied. |
5+
| test.c:43:19:43:28 | * ... | A FILE object is being copied. |
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
| test.c:4:20:4:26 | * ... | A FILE object is being copied. |
2+
| test.c:11:21:11:30 | * ... | A FILE object is being copied. |
3+
| test.c:17:21:17:31 | * ... | A FILE object is being copied. |
4+
| test.c:23:15:23:21 | * ... | A FILE object is being copied. |
5+
| test.c:36:19:36:28 | * ... | A FILE object is being copied. |
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
| test.c:4:20:4:26 | * ... | A FILE object is being copied. |
2+
| test.c:11:21:11:30 | * ... | A FILE object is being copied. |
3+
| test.c:17:21:17:31 | * ... | A FILE object is being copied. |
4+
| test.c:23:15:23:21 | * ... | A FILE object is being copied. |
5+
| test.c:36:19:36:28 | * ... | A FILE object is being copied. |

c/cert/test/rules/FIO38-C/test.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#include <stdio.h>
2+
// Workaround for the CodeQL extractor
23
#if !defined(__DEFINED_struct__IO_FILE)
34
struct _IO_FILE {
45
char __x;
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
#include <stdio.h>
2+
3+
int f1(void) {
4+
FILE my_stdout = *stdout; // NON_COMPLIANT
5+
return fputs("Hello, World!\n", &my_stdout);
6+
}
7+
8+
int f2(void) {
9+
FILE *my_stdout;
10+
my_stdout = stdout; // COMPLIANT
11+
FILE my_stdout2 = *my_stdout; // NON_COMPLIANT
12+
return fputs("Hello, World!\n", my_stdout);
13+
}
14+
int f2b(void) {
15+
FILE *const *my_stdout;
16+
my_stdout = &stdout; // COMPLIANT
17+
FILE my_stdout2 = **my_stdout; // NON_COMPLIANT
18+
return fputs("Hello, World!\n", *my_stdout);
19+
}
20+
21+
int f3(void) {
22+
FILE my_stdout;
23+
my_stdout = *stdout; // NON_COMPLIANT
24+
return fputs("Hello, World!\n", &my_stdout);
25+
}
26+
27+
int f4(void) {
28+
FILE *my_stdout;
29+
my_stdout = fopen("file.txt", "w"); // COMPLIANT
30+
return fputs("Hello, World!\n", my_stdout);
31+
}
32+
33+
int f5helper(FILE my_stdout) { return fputs("Hello, World!\n", &my_stdout); }
34+
int f5(void) {
35+
FILE *my_stdout = fopen("file.txt", "w"); // COMPLIANT
36+
return f5helper(*my_stdout); // NON_COMPLIANT
37+
}
38+
39+
int f6helper(FILE *my_stdout) { return fputs("Hello, World!\n", my_stdout); }
40+
int f6(void) {
41+
FILE *my_stdout = fopen("file.txt", "w"); // COMPLIANT
42+
return f6helper(my_stdout); // COMPLIANT
43+
}

c/cert/test/rules/FIO38-C/test.c.gcc

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
#include <stdio.h>
2+
3+
int f1(void) {
4+
FILE my_stdout = *stdout; // NON_COMPLIANT
5+
return fputs("Hello, World!\n", &my_stdout);
6+
}
7+
8+
int f2(void) {
9+
FILE *my_stdout;
10+
my_stdout = stdout; // COMPLIANT
11+
FILE my_stdout2 = *my_stdout; // NON_COMPLIANT
12+
return fputs("Hello, World!\n", my_stdout);
13+
}
14+
int f2b(void) {
15+
FILE *const *my_stdout;
16+
my_stdout = &stdout; // COMPLIANT
17+
FILE my_stdout2 = **my_stdout; // NON_COMPLIANT
18+
return fputs("Hello, World!\n", *my_stdout);
19+
}
20+
21+
int f3(void) {
22+
FILE my_stdout;
23+
my_stdout = *stdout; // NON_COMPLIANT
24+
return fputs("Hello, World!\n", &my_stdout);
25+
}
26+
27+
int f4(void) {
28+
FILE *my_stdout;
29+
my_stdout = fopen("file.txt", "w"); // COMPLIANT
30+
return fputs("Hello, World!\n", my_stdout);
31+
}
32+
33+
int f5helper(FILE my_stdout) { return fputs("Hello, World!\n", &my_stdout); }
34+
int f5(void) {
35+
FILE *my_stdout = fopen("file.txt", "w"); // COMPLIANT
36+
return f5helper(*my_stdout); // NON_COMPLIANT
37+
}
38+
39+
int f6helper(FILE *my_stdout) { return fputs("Hello, World!\n", my_stdout); }
40+
int f6(void) {
41+
FILE *my_stdout = fopen("file.txt", "w"); // COMPLIANT
42+
return f6helper(my_stdout); // COMPLIANT
43+
}

0 commit comments

Comments
 (0)