|
1 | 1 | edges
|
2 |
| -| overflowdestination.cpp:27:9:27:12 | argv | overflowdestination.cpp:30:17:30:20 | (const char *)... | |
| 2 | +| main.cpp:7:33:7:36 | argv | main.cpp:7:33:7:36 | argv | |
| 3 | +| main.cpp:7:33:7:36 | argv | main.cpp:7:33:7:36 | argv indirection | |
| 4 | +| main.cpp:7:33:7:36 | argv | overflowdestination.cpp:23:45:23:48 | argv | |
| 5 | +| main.cpp:7:33:7:36 | argv indirection | overflowdestination.cpp:23:45:23:48 | *argv | |
| 6 | +| overflowdestination.cpp:23:45:23:48 | *argv | overflowdestination.cpp:30:17:30:20 | (const char *)... | |
| 7 | +| overflowdestination.cpp:23:45:23:48 | argv | overflowdestination.cpp:30:17:30:20 | (const char *)... | |
3 | 8 | | overflowdestination.cpp:43:8:43:10 | fgets output argument | overflowdestination.cpp:46:15:46:17 | (const void *)... |
|
4 | 9 | | overflowdestination.cpp:50:52:50:54 | *src | overflowdestination.cpp:50:52:50:54 | ReturnIndirection |
|
5 | 10 | | overflowdestination.cpp:50:52:50:54 | src | overflowdestination.cpp:53:15:53:17 | (const void *)... |
|
|
17 | 22 | | overflowdestination.cpp:76:30:76:32 | src | overflowdestination.cpp:57:52:57:54 | src |
|
18 | 23 | | overflowdestination.cpp:76:30:76:32 | src indirection | overflowdestination.cpp:57:52:57:54 | *src |
|
19 | 24 | nodes
|
20 |
| -| overflowdestination.cpp:27:9:27:12 | argv | semmle.label | argv | |
| 25 | +| main.cpp:7:33:7:36 | argv | semmle.label | argv | |
| 26 | +| main.cpp:7:33:7:36 | argv | semmle.label | argv | |
| 27 | +| main.cpp:7:33:7:36 | argv indirection | semmle.label | argv indirection | |
| 28 | +| overflowdestination.cpp:23:45:23:48 | *argv | semmle.label | *argv | |
| 29 | +| overflowdestination.cpp:23:45:23:48 | argv | semmle.label | argv | |
21 | 30 | | overflowdestination.cpp:30:17:30:20 | (const char *)... | semmle.label | (const char *)... |
|
22 | 31 | | overflowdestination.cpp:43:8:43:10 | fgets output argument | semmle.label | fgets output argument |
|
23 | 32 | | overflowdestination.cpp:46:15:46:17 | (const void *)... | semmle.label | (const void *)... |
|
|
37 | 46 | subpaths
|
38 | 47 | | overflowdestination.cpp:75:30:75:32 | src indirection | overflowdestination.cpp:50:52:50:54 | *src | overflowdestination.cpp:50:52:50:54 | ReturnIndirection | overflowdestination.cpp:75:30:75:32 | overflowdest_test2 output argument |
|
39 | 48 | #select
|
40 |
| -| overflowdestination.cpp:30:2:30:8 | call to strncpy | overflowdestination.cpp:27:9:27:12 | argv | overflowdestination.cpp:30:17:30:20 | (const char *)... | To avoid overflow, this operation should be bounded by destination-buffer size, not source-buffer size. | |
| 49 | +| overflowdestination.cpp:30:2:30:8 | call to strncpy | main.cpp:7:33:7:36 | argv | overflowdestination.cpp:30:17:30:20 | (const char *)... | To avoid overflow, this operation should be bounded by destination-buffer size, not source-buffer size. | |
41 | 50 | | overflowdestination.cpp:46:2:46:7 | call to memcpy | overflowdestination.cpp:43:8:43:10 | fgets output argument | overflowdestination.cpp:46:15:46:17 | (const void *)... | To avoid overflow, this operation should be bounded by destination-buffer size, not source-buffer size. |
|
42 | 51 | | overflowdestination.cpp:53:2:53:7 | call to memcpy | overflowdestination.cpp:73:8:73:10 | fgets output argument | overflowdestination.cpp:53:15:53:17 | (const void *)... | To avoid overflow, this operation should be bounded by destination-buffer size, not source-buffer size. |
|
43 | 52 | | overflowdestination.cpp:64:2:64:7 | call to memcpy | overflowdestination.cpp:73:8:73:10 | fgets output argument | overflowdestination.cpp:64:16:64:19 | (const void *)... | To avoid overflow, this operation should be bounded by destination-buffer size, not source-buffer size. |
|
0 commit comments