Skip to content

Commit 0bf7fc5

Browse files
committed
C++: Now that the flow starts at main's 'argv' parameter (instead of at every use of 'argv') we get problems with linking since the test directory for CWE-190 has multiple main functions. We fix this by renaming each main function and invoking them from a shared main function.
1 parent c48cfb7 commit 0bf7fc5

File tree

7 files changed

+134
-110
lines changed

7 files changed

+134
-110
lines changed

cpp/ql/test/query-tests/Security/CWE/CWE-190/SAMATE/ArithmeticUncontrolled.expected

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,12 @@ edges
2323
| examples.cpp:35:26:35:33 | call to rand | examples.cpp:38:9:38:12 | data |
2424
| examples.cpp:35:26:35:33 | call to rand | examples.cpp:38:9:38:12 | data |
2525
| examples.cpp:35:26:35:33 | call to rand | examples.cpp:38:9:38:12 | data |
26+
| examples.cpp:63:26:63:30 | fscanf output argument | examples.cpp:66:9:66:14 | Store |
27+
| examples.cpp:63:26:63:30 | fscanf output argument | examples.cpp:66:9:66:14 | Sub |
28+
| examples.cpp:63:26:63:30 | fscanf output argument | examples.cpp:66:11:66:14 | data |
29+
| examples.cpp:63:26:63:30 | fscanf output argument | examples.cpp:67:31:67:34 | Store |
30+
| examples.cpp:63:26:63:30 | fscanf output argument | examples.cpp:67:31:67:34 | data |
31+
| examples.cpp:63:26:63:30 | fscanf output argument | examples.cpp:68:27:68:32 | result |
2632
nodes
2733
| examples.cpp:22:26:22:33 | (unsigned int)... | semmle.label | (unsigned int)... |
2834
| examples.cpp:22:26:22:33 | (unsigned int)... | semmle.label | (unsigned int)... |
@@ -50,6 +56,14 @@ nodes
5056
| examples.cpp:35:26:35:33 | call to rand | semmle.label | call to rand |
5157
| examples.cpp:35:26:35:33 | call to rand | semmle.label | call to rand |
5258
| examples.cpp:38:9:38:12 | data | semmle.label | data |
59+
| examples.cpp:63:26:63:30 | & ... | semmle.label | & ... |
60+
| examples.cpp:63:26:63:30 | fscanf output argument | semmle.label | fscanf output argument |
61+
| examples.cpp:66:9:66:14 | Store | semmle.label | Store |
62+
| examples.cpp:66:9:66:14 | Sub | semmle.label | Sub |
63+
| examples.cpp:66:11:66:14 | data | semmle.label | data |
64+
| examples.cpp:67:31:67:34 | Store | semmle.label | Store |
65+
| examples.cpp:67:31:67:34 | data | semmle.label | data |
66+
| examples.cpp:68:27:68:32 | result | semmle.label | result |
5367
subpaths
5468
#select
5569
| examples.cpp:25:31:25:34 | data | examples.cpp:22:26:22:33 | (unsigned int)... | examples.cpp:25:31:25:34 | data | $@ flows to here and is used in arithmetic, potentially causing an underflow. | examples.cpp:22:26:22:33 | call to rand | Uncontrolled value |

cpp/ql/test/query-tests/Security/CWE/CWE-190/semmle/TaintedAllocationSize/TaintedAllocationSize.expected

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,32 @@
11
edges
2-
| test.cpp:40:21:40:24 | argv | test.cpp:43:38:43:44 | (size_t)... |
3-
| test.cpp:40:21:40:24 | argv | test.cpp:43:38:43:44 | (size_t)... |
4-
| test.cpp:40:21:40:24 | argv | test.cpp:43:38:43:44 | tainted |
5-
| test.cpp:40:21:40:24 | argv | test.cpp:43:38:43:44 | tainted |
6-
| test.cpp:40:21:40:24 | argv | test.cpp:43:38:43:44 | tainted |
7-
| test.cpp:40:21:40:24 | argv | test.cpp:43:38:43:44 | tainted |
8-
| test.cpp:40:21:40:24 | argv | test.cpp:44:38:44:63 | ... * ... |
9-
| test.cpp:40:21:40:24 | argv | test.cpp:44:38:44:63 | ... * ... |
10-
| test.cpp:40:21:40:24 | argv | test.cpp:44:38:44:63 | ... * ... |
11-
| test.cpp:40:21:40:24 | argv | test.cpp:44:38:44:63 | ... * ... |
12-
| test.cpp:40:21:40:24 | argv | test.cpp:46:38:46:63 | ... + ... |
13-
| test.cpp:40:21:40:24 | argv | test.cpp:46:38:46:63 | ... + ... |
14-
| test.cpp:40:21:40:24 | argv | test.cpp:46:38:46:63 | ... + ... |
15-
| test.cpp:40:21:40:24 | argv | test.cpp:46:38:46:63 | ... + ... |
16-
| test.cpp:40:21:40:24 | argv | test.cpp:49:32:49:35 | (size_t)... |
17-
| test.cpp:40:21:40:24 | argv | test.cpp:49:32:49:35 | (size_t)... |
18-
| test.cpp:40:21:40:24 | argv | test.cpp:49:32:49:35 | size |
19-
| test.cpp:40:21:40:24 | argv | test.cpp:49:32:49:35 | size |
20-
| test.cpp:40:21:40:24 | argv | test.cpp:49:32:49:35 | size |
21-
| test.cpp:40:21:40:24 | argv | test.cpp:49:32:49:35 | size |
22-
| test.cpp:40:21:40:24 | argv | test.cpp:50:26:50:29 | size |
23-
| test.cpp:40:21:40:24 | argv | test.cpp:50:26:50:29 | size |
24-
| test.cpp:40:21:40:24 | argv | test.cpp:50:26:50:29 | size |
25-
| test.cpp:40:21:40:24 | argv | test.cpp:50:26:50:29 | size |
26-
| test.cpp:40:21:40:24 | argv | test.cpp:53:35:53:60 | ... * ... |
27-
| test.cpp:40:21:40:24 | argv | test.cpp:53:35:53:60 | ... * ... |
28-
| test.cpp:40:21:40:24 | argv | test.cpp:53:35:53:60 | ... * ... |
29-
| test.cpp:40:21:40:24 | argv | test.cpp:53:35:53:60 | ... * ... |
2+
| test.cpp:39:27:39:30 | argv | test.cpp:43:38:43:44 | (size_t)... |
3+
| test.cpp:39:27:39:30 | argv | test.cpp:43:38:43:44 | (size_t)... |
4+
| test.cpp:39:27:39:30 | argv | test.cpp:43:38:43:44 | tainted |
5+
| test.cpp:39:27:39:30 | argv | test.cpp:43:38:43:44 | tainted |
6+
| test.cpp:39:27:39:30 | argv | test.cpp:43:38:43:44 | tainted |
7+
| test.cpp:39:27:39:30 | argv | test.cpp:43:38:43:44 | tainted |
8+
| test.cpp:39:27:39:30 | argv | test.cpp:44:38:44:63 | ... * ... |
9+
| test.cpp:39:27:39:30 | argv | test.cpp:44:38:44:63 | ... * ... |
10+
| test.cpp:39:27:39:30 | argv | test.cpp:44:38:44:63 | ... * ... |
11+
| test.cpp:39:27:39:30 | argv | test.cpp:44:38:44:63 | ... * ... |
12+
| test.cpp:39:27:39:30 | argv | test.cpp:46:38:46:63 | ... + ... |
13+
| test.cpp:39:27:39:30 | argv | test.cpp:46:38:46:63 | ... + ... |
14+
| test.cpp:39:27:39:30 | argv | test.cpp:46:38:46:63 | ... + ... |
15+
| test.cpp:39:27:39:30 | argv | test.cpp:46:38:46:63 | ... + ... |
16+
| test.cpp:39:27:39:30 | argv | test.cpp:49:32:49:35 | (size_t)... |
17+
| test.cpp:39:27:39:30 | argv | test.cpp:49:32:49:35 | (size_t)... |
18+
| test.cpp:39:27:39:30 | argv | test.cpp:49:32:49:35 | size |
19+
| test.cpp:39:27:39:30 | argv | test.cpp:49:32:49:35 | size |
20+
| test.cpp:39:27:39:30 | argv | test.cpp:49:32:49:35 | size |
21+
| test.cpp:39:27:39:30 | argv | test.cpp:49:32:49:35 | size |
22+
| test.cpp:39:27:39:30 | argv | test.cpp:50:26:50:29 | size |
23+
| test.cpp:39:27:39:30 | argv | test.cpp:50:26:50:29 | size |
24+
| test.cpp:39:27:39:30 | argv | test.cpp:50:26:50:29 | size |
25+
| test.cpp:39:27:39:30 | argv | test.cpp:50:26:50:29 | size |
26+
| test.cpp:39:27:39:30 | argv | test.cpp:53:35:53:60 | ... * ... |
27+
| test.cpp:39:27:39:30 | argv | test.cpp:53:35:53:60 | ... * ... |
28+
| test.cpp:39:27:39:30 | argv | test.cpp:53:35:53:60 | ... * ... |
29+
| test.cpp:39:27:39:30 | argv | test.cpp:53:35:53:60 | ... * ... |
3030
| test.cpp:124:18:124:23 | call to getenv | test.cpp:128:24:128:41 | ... * ... |
3131
| test.cpp:124:18:124:23 | call to getenv | test.cpp:128:24:128:41 | ... * ... |
3232
| test.cpp:124:18:124:31 | (const char *)... | test.cpp:128:24:128:41 | ... * ... |
@@ -77,8 +77,8 @@ edges
7777
| test.cpp:305:9:305:16 | size [post update] | test.cpp:308:10:308:27 | ... * ... |
7878
subpaths
7979
nodes
80-
| test.cpp:40:21:40:24 | argv | semmle.label | argv |
81-
| test.cpp:40:21:40:24 | argv | semmle.label | argv |
80+
| test.cpp:39:27:39:30 | argv | semmle.label | argv |
81+
| test.cpp:39:27:39:30 | argv | semmle.label | argv |
8282
| test.cpp:43:38:43:44 | (size_t)... | semmle.label | (size_t)... |
8383
| test.cpp:43:38:43:44 | (size_t)... | semmle.label | (size_t)... |
8484
| test.cpp:43:38:43:44 | tainted | semmle.label | tainted |
@@ -157,12 +157,12 @@ nodes
157157
| test.cpp:308:10:308:27 | ... * ... | semmle.label | ... * ... |
158158
| test.cpp:308:10:308:27 | ... * ... | semmle.label | ... * ... |
159159
#select
160-
| test.cpp:43:31:43:36 | call to malloc | test.cpp:40:21:40:24 | argv | test.cpp:43:38:43:44 | tainted | This allocation size is derived from $@ and might overflow | test.cpp:40:21:40:24 | argv | user input (argv) |
161-
| test.cpp:44:31:44:36 | call to malloc | test.cpp:40:21:40:24 | argv | test.cpp:44:38:44:63 | ... * ... | This allocation size is derived from $@ and might overflow | test.cpp:40:21:40:24 | argv | user input (argv) |
162-
| test.cpp:46:31:46:36 | call to malloc | test.cpp:40:21:40:24 | argv | test.cpp:46:38:46:63 | ... + ... | This allocation size is derived from $@ and might overflow | test.cpp:40:21:40:24 | argv | user input (argv) |
163-
| test.cpp:49:25:49:30 | call to malloc | test.cpp:40:21:40:24 | argv | test.cpp:49:32:49:35 | size | This allocation size is derived from $@ and might overflow | test.cpp:40:21:40:24 | argv | user input (argv) |
164-
| test.cpp:50:17:50:30 | new[] | test.cpp:40:21:40:24 | argv | test.cpp:50:26:50:29 | size | This allocation size is derived from $@ and might overflow | test.cpp:40:21:40:24 | argv | user input (argv) |
165-
| test.cpp:53:21:53:27 | call to realloc | test.cpp:40:21:40:24 | argv | test.cpp:53:35:53:60 | ... * ... | This allocation size is derived from $@ and might overflow | test.cpp:40:21:40:24 | argv | user input (argv) |
160+
| test.cpp:43:31:43:36 | call to malloc | test.cpp:39:27:39:30 | argv | test.cpp:43:38:43:44 | tainted | This allocation size is derived from $@ and might overflow | test.cpp:39:27:39:30 | argv | user input (argv) |
161+
| test.cpp:44:31:44:36 | call to malloc | test.cpp:39:27:39:30 | argv | test.cpp:44:38:44:63 | ... * ... | This allocation size is derived from $@ and might overflow | test.cpp:39:27:39:30 | argv | user input (argv) |
162+
| test.cpp:46:31:46:36 | call to malloc | test.cpp:39:27:39:30 | argv | test.cpp:46:38:46:63 | ... + ... | This allocation size is derived from $@ and might overflow | test.cpp:39:27:39:30 | argv | user input (argv) |
163+
| test.cpp:49:25:49:30 | call to malloc | test.cpp:39:27:39:30 | argv | test.cpp:49:32:49:35 | size | This allocation size is derived from $@ and might overflow | test.cpp:39:27:39:30 | argv | user input (argv) |
164+
| test.cpp:50:17:50:30 | new[] | test.cpp:39:27:39:30 | argv | test.cpp:50:26:50:29 | size | This allocation size is derived from $@ and might overflow | test.cpp:39:27:39:30 | argv | user input (argv) |
165+
| test.cpp:53:21:53:27 | call to realloc | test.cpp:39:27:39:30 | argv | test.cpp:53:35:53:60 | ... * ... | This allocation size is derived from $@ and might overflow | test.cpp:39:27:39:30 | argv | user input (argv) |
166166
| test.cpp:128:17:128:22 | call to malloc | test.cpp:124:18:124:23 | call to getenv | test.cpp:128:24:128:41 | ... * ... | This allocation size is derived from $@ and might overflow | test.cpp:124:18:124:23 | call to getenv | user input (getenv) |
167167
| test.cpp:135:3:135:8 | call to malloc | test.cpp:133:19:133:24 | call to getenv | test.cpp:135:10:135:27 | ... * ... | This allocation size is derived from $@ and might overflow | test.cpp:133:19:133:24 | call to getenv | user input (getenv) |
168168
| test.cpp:152:4:152:9 | call to malloc | test.cpp:148:20:148:25 | call to getenv | test.cpp:152:11:152:28 | ... * ... | This allocation size is derived from $@ and might overflow | test.cpp:148:20:148:25 | call to getenv | user input (getenv) |

cpp/ql/test/query-tests/Security/CWE/CWE-190/semmle/tainted/ArithmeticTainted.expected

Lines changed: 33 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,20 @@ edges
1111
| test5.cpp:9:7:9:9 | gets output argument | test5.cpp:5:5:5:17 | ReturnValue |
1212
| test5.cpp:18:6:18:18 | call to getTaintedInt | test5.cpp:19:6:19:6 | y |
1313
| test5.cpp:18:6:18:18 | call to getTaintedInt | test5.cpp:19:6:19:6 | y |
14-
| test.c:11:29:11:32 | argv | test.c:14:15:14:28 | maxConnections |
15-
| test.c:11:29:11:32 | argv | test.c:14:15:14:28 | maxConnections |
16-
| test.c:11:29:11:32 | argv | test.c:14:15:14:28 | maxConnections |
17-
| test.c:11:29:11:32 | argv | test.c:14:15:14:28 | maxConnections |
18-
| test.c:41:17:41:20 | argv | test.c:44:7:44:10 | len2 |
19-
| test.c:41:17:41:20 | argv | test.c:44:7:44:10 | len2 |
20-
| test.c:41:17:41:20 | argv | test.c:44:7:44:10 | len2 |
21-
| test.c:41:17:41:20 | argv | test.c:44:7:44:10 | len2 |
22-
| test.c:51:17:51:20 | argv | test.c:54:7:54:10 | len3 |
23-
| test.c:51:17:51:20 | argv | test.c:54:7:54:10 | len3 |
24-
| test.c:51:17:51:20 | argv | test.c:54:7:54:10 | len3 |
25-
| test.c:51:17:51:20 | argv | test.c:54:7:54:10 | len3 |
14+
| test.cpp:12:28:12:31 | *argv | test.cpp:16:15:16:28 | maxConnections |
15+
| test.cpp:12:28:12:31 | *argv | test.cpp:16:15:16:28 | maxConnections |
16+
| test.cpp:12:28:12:31 | argv | test.cpp:16:15:16:28 | maxConnections |
17+
| test.cpp:12:28:12:31 | argv | test.cpp:16:15:16:28 | maxConnections |
18+
| test.cpp:12:28:12:31 | argv | test.cpp:46:7:46:10 | len2 |
19+
| test.cpp:12:28:12:31 | argv | test.cpp:46:7:46:10 | len2 |
20+
| test.cpp:12:28:12:31 | argv | test.cpp:56:7:56:10 | len3 |
21+
| test.cpp:12:28:12:31 | argv | test.cpp:56:7:56:10 | len3 |
22+
| test.cpp:139:27:139:30 | argv | test.cpp:140:3:140:7 | argv |
23+
| test.cpp:139:27:139:30 | argv | test.cpp:140:3:140:7 | argv |
24+
| test.cpp:139:27:139:30 | argv | test.cpp:140:15:140:18 | argv indirection |
25+
| test.cpp:139:27:139:30 | argv | test.cpp:140:15:140:18 | argv indirection |
26+
| test.cpp:140:3:140:7 | argv | test.cpp:12:28:12:31 | argv |
27+
| test.cpp:140:15:140:18 | argv indirection | test.cpp:12:28:12:31 | *argv |
2628
subpaths
2729
nodes
2830
| test2.cpp:12:21:12:21 | v | semmle.label | v |
@@ -42,28 +44,28 @@ nodes
4244
| test5.cpp:19:6:19:6 | y | semmle.label | y |
4345
| test5.cpp:19:6:19:6 | y | semmle.label | y |
4446
| test5.cpp:19:6:19:6 | y | semmle.label | y |
45-
| test.c:11:29:11:32 | argv | semmle.label | argv |
46-
| test.c:11:29:11:32 | argv | semmle.label | argv |
47-
| test.c:14:15:14:28 | maxConnections | semmle.label | maxConnections |
48-
| test.c:14:15:14:28 | maxConnections | semmle.label | maxConnections |
49-
| test.c:14:15:14:28 | maxConnections | semmle.label | maxConnections |
50-
| test.c:41:17:41:20 | argv | semmle.label | argv |
51-
| test.c:41:17:41:20 | argv | semmle.label | argv |
52-
| test.c:44:7:44:10 | len2 | semmle.label | len2 |
53-
| test.c:44:7:44:10 | len2 | semmle.label | len2 |
54-
| test.c:44:7:44:10 | len2 | semmle.label | len2 |
55-
| test.c:51:17:51:20 | argv | semmle.label | argv |
56-
| test.c:51:17:51:20 | argv | semmle.label | argv |
57-
| test.c:54:7:54:10 | len3 | semmle.label | len3 |
58-
| test.c:54:7:54:10 | len3 | semmle.label | len3 |
59-
| test.c:54:7:54:10 | len3 | semmle.label | len3 |
47+
| test.cpp:12:28:12:31 | *argv | semmle.label | *argv |
48+
| test.cpp:12:28:12:31 | argv | semmle.label | argv |
49+
| test.cpp:16:15:16:28 | maxConnections | semmle.label | maxConnections |
50+
| test.cpp:16:15:16:28 | maxConnections | semmle.label | maxConnections |
51+
| test.cpp:16:15:16:28 | maxConnections | semmle.label | maxConnections |
52+
| test.cpp:46:7:46:10 | len2 | semmle.label | len2 |
53+
| test.cpp:46:7:46:10 | len2 | semmle.label | len2 |
54+
| test.cpp:46:7:46:10 | len2 | semmle.label | len2 |
55+
| test.cpp:56:7:56:10 | len3 | semmle.label | len3 |
56+
| test.cpp:56:7:56:10 | len3 | semmle.label | len3 |
57+
| test.cpp:56:7:56:10 | len3 | semmle.label | len3 |
58+
| test.cpp:139:27:139:30 | argv | semmle.label | argv |
59+
| test.cpp:139:27:139:30 | argv | semmle.label | argv |
60+
| test.cpp:140:3:140:7 | argv | semmle.label | argv |
61+
| test.cpp:140:15:140:18 | argv indirection | semmle.label | argv indirection |
6062
#select
6163
| test2.cpp:14:11:14:11 | v | test2.cpp:25:22:25:23 | & ... | test2.cpp:14:11:14:11 | v | $@ flows to here and is used in arithmetic, potentially causing an overflow. | test2.cpp:25:22:25:23 | & ... | User-provided value |
6264
| test2.cpp:14:11:14:11 | v | test2.cpp:25:22:25:23 | & ... | test2.cpp:14:11:14:11 | v | $@ flows to here and is used in arithmetic, potentially causing an underflow. | test2.cpp:25:22:25:23 | & ... | User-provided value |
6365
| test5.cpp:17:6:17:18 | call to getTaintedInt | test5.cpp:9:7:9:9 | buf | test5.cpp:17:6:17:18 | call to getTaintedInt | $@ flows to here and is used in arithmetic, potentially causing an overflow. | test5.cpp:9:7:9:9 | buf | User-provided value |
6466
| test5.cpp:19:6:19:6 | y | test5.cpp:9:7:9:9 | buf | test5.cpp:19:6:19:6 | y | $@ flows to here and is used in arithmetic, potentially causing an overflow. | test5.cpp:9:7:9:9 | buf | User-provided value |
6567
| test5.cpp:19:6:19:6 | y | test5.cpp:9:7:9:9 | buf | test5.cpp:19:6:19:6 | y | $@ flows to here and is used in arithmetic, potentially causing an underflow. | test5.cpp:9:7:9:9 | buf | User-provided value |
66-
| test.c:14:15:14:28 | maxConnections | test.c:11:29:11:32 | argv | test.c:14:15:14:28 | maxConnections | $@ flows to here and is used in arithmetic, potentially causing an overflow. | test.c:11:29:11:32 | argv | User-provided value |
67-
| test.c:14:15:14:28 | maxConnections | test.c:11:29:11:32 | argv | test.c:14:15:14:28 | maxConnections | $@ flows to here and is used in arithmetic, potentially causing an underflow. | test.c:11:29:11:32 | argv | User-provided value |
68-
| test.c:44:7:44:10 | len2 | test.c:41:17:41:20 | argv | test.c:44:7:44:10 | len2 | $@ flows to here and is used in arithmetic, potentially causing an underflow. | test.c:41:17:41:20 | argv | User-provided value |
69-
| test.c:54:7:54:10 | len3 | test.c:51:17:51:20 | argv | test.c:54:7:54:10 | len3 | $@ flows to here and is used in arithmetic, potentially causing an underflow. | test.c:51:17:51:20 | argv | User-provided value |
68+
| test.cpp:16:15:16:28 | maxConnections | test.cpp:139:27:139:30 | argv | test.cpp:16:15:16:28 | maxConnections | $@ flows to here and is used in arithmetic, potentially causing an overflow. | test.cpp:139:27:139:30 | argv | User-provided value |
69+
| test.cpp:16:15:16:28 | maxConnections | test.cpp:139:27:139:30 | argv | test.cpp:16:15:16:28 | maxConnections | $@ flows to here and is used in arithmetic, potentially causing an underflow. | test.cpp:139:27:139:30 | argv | User-provided value |
70+
| test.cpp:46:7:46:10 | len2 | test.cpp:139:27:139:30 | argv | test.cpp:46:7:46:10 | len2 | $@ flows to here and is used in arithmetic, potentially causing an underflow. | test.cpp:139:27:139:30 | argv | User-provided value |
71+
| test.cpp:56:7:56:10 | len3 | test.cpp:139:27:139:30 | argv | test.cpp:56:7:56:10 | len3 | $@ flows to here and is used in arithmetic, potentially causing an underflow. | test.cpp:139:27:139:30 | argv | User-provided value |

cpp/ql/test/query-tests/Security/CWE/CWE-190/semmle/tainted/IntegerOverflowTainted.expected

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22
| test2.cpp:15:11:15:19 | ... * ... | $@ flows to here and is used in an expression which might overflow. | test2.cpp:25:22:25:23 | & ... | User-provided value |
33
| test2.cpp:16:11:16:21 | ... * ... | $@ flows to here and is used in an expression which might overflow. | test2.cpp:25:22:25:23 | & ... | User-provided value |
44
| test2.cpp:17:11:17:22 | ... * ... | $@ flows to here and is used in an expression which might overflow. | test2.cpp:25:22:25:23 | & ... | User-provided value |
5-
| test3.c:12:31:12:34 | * ... | $@ flows to here and is used in an expression which might overflow negatively. | test3.c:11:15:11:18 | argv | User-provided value |
6-
| test3.c:13:16:13:19 | * ... | $@ flows to here and is used in an expression which might overflow negatively. | test3.c:11:15:11:18 | argv | User-provided value |
7-
| test4.cpp:13:17:13:20 | access to array | $@ flows to here and is used in an expression which might overflow negatively. | test4.cpp:9:13:9:16 | argv | User-provided value |
85
| test5.cpp:10:9:10:15 | call to strtoul | $@ flows to here and is used in an expression which might overflow. | test5.cpp:9:7:9:9 | buf | User-provided value |
96
| test5.cpp:17:6:17:27 | ... * ... | $@ flows to here and is used in an expression which might overflow. | test5.cpp:9:7:9:9 | buf | User-provided value |
107
| test5.cpp:19:6:19:13 | ... * ... | $@ flows to here and is used in an expression which might overflow. | test5.cpp:9:7:9:9 | buf | User-provided value |
118
| test6.cpp:11:15:11:15 | s | $@ flows to here and is used in an expression which might overflow. | test6.cpp:39:23:39:24 | & ... | User-provided value |
129
| test6.cpp:16:15:16:15 | s | $@ flows to here and is used in an expression which might overflow. | test6.cpp:39:23:39:24 | & ... | User-provided value |
1310
| test6.cpp:30:16:30:16 | s | $@ flows to here and is used in an expression which might overflow. | test6.cpp:39:23:39:24 | & ... | User-provided value |
14-
| test.c:14:15:14:35 | ... * ... | $@ flows to here and is used in an expression which might overflow. | test.c:11:29:11:32 | argv | User-provided value |
15-
| test.c:44:7:44:12 | ... -- | $@ flows to here and is used in an expression which might overflow negatively. | test.c:41:17:41:20 | argv | User-provided value |
16-
| test.c:54:7:54:12 | ... -- | $@ flows to here and is used in an expression which might overflow negatively. | test.c:51:17:51:20 | argv | User-provided value |
11+
| test.cpp:16:15:16:35 | ... * ... | $@ flows to here and is used in an expression which might overflow. | test.cpp:139:27:139:30 | argv | User-provided value |
12+
| test.cpp:46:7:46:12 | ... -- | $@ flows to here and is used in an expression which might overflow negatively. | test.cpp:139:27:139:30 | argv | User-provided value |
13+
| test.cpp:56:7:56:12 | ... -- | $@ flows to here and is used in an expression which might overflow negatively. | test.cpp:139:27:139:30 | argv | User-provided value |
14+
| test.cpp:112:31:112:34 | * ... | $@ flows to here and is used in an expression which might overflow negatively. | test.cpp:139:27:139:30 | argv | User-provided value |
15+
| test.cpp:113:16:113:19 | * ... | $@ flows to here and is used in an expression which might overflow negatively. | test.cpp:139:27:139:30 | argv | User-provided value |
16+
| test.cpp:130:17:130:20 | access to array | $@ flows to here and is used in an expression which might overflow negatively. | test.cpp:139:27:139:30 | argv | User-provided value |

0 commit comments

Comments
 (0)