|
|
|
|
@@ -151,6 +151,9 @@ edges
|
|
|
|
|
| by_reference.cpp:62:3:62:3 | s [post update] [a] | by_reference.cpp:63:8:63:8 | s [a] |
|
|
|
|
|
| by_reference.cpp:62:25:62:34 | call to user_input | by_reference.cpp:62:3:62:3 | s [post update] [a] |
|
|
|
|
|
| by_reference.cpp:63:8:63:8 | s [a] | by_reference.cpp:63:10:63:28 | call to getThroughNonMember |
|
|
|
|
|
| by_reference.cpp:68:17:68:18 | ref arg & ... [a] | by_reference.cpp:69:22:69:23 | & ... [a] |
|
|
|
|
|
| by_reference.cpp:68:21:68:30 | call to user_input | by_reference.cpp:68:17:68:18 | ref arg & ... [a] |
|
|
|
|
|
| by_reference.cpp:69:22:69:23 | & ... [a] | by_reference.cpp:69:8:69:20 | call to nonMemberGetA |
|
|
|
|
|
| complex.cpp:34:15:34:15 | b [f, a_] | complex.cpp:44:8:44:8 | b [f, a_] |
|
|
|
|
|
| complex.cpp:34:15:34:15 | b [f, b_] | complex.cpp:45:8:45:8 | b [f, b_] |
|
|
|
|
|
| complex.cpp:44:8:44:8 | b [f, a_] | complex.cpp:44:10:44:10 | f [a_] |
|
|
|
|
|
@@ -205,14 +208,30 @@ edges
|
|
|
|
|
| simple.cpp:48:9:48:9 | g [b_] | simple.cpp:26:15:26:15 | f [b_] |
|
|
|
|
|
| simple.cpp:51:9:51:9 | h [a_] | simple.cpp:26:15:26:15 | f [a_] |
|
|
|
|
|
| simple.cpp:51:9:51:9 | h [b_] | simple.cpp:26:15:26:15 | f [b_] |
|
|
|
|
|
| struct_init.c:14:24:14:25 | ab [a] | struct_init.c:15:8:15:9 | ab [a] |
|
|
|
|
|
| struct_init.c:15:8:15:9 | ab [a] | struct_init.c:15:12:15:12 | a |
|
|
|
|
|
| struct_init.c:20:17:20:36 | {...} [a] | struct_init.c:22:8:22:9 | ab [a] |
|
|
|
|
|
| struct_init.c:20:17:20:36 | {...} [a] | struct_init.c:24:10:24:12 | & ... [a] |
|
|
|
|
|
| struct_init.c:20:17:20:36 | {...} [a] | struct_init.c:28:5:28:7 | & ... [a] |
|
|
|
|
|
| struct_init.c:20:20:20:29 | call to user_input | struct_init.c:20:17:20:36 | {...} [a] |
|
|
|
|
|
| struct_init.c:22:8:22:9 | ab [a] | struct_init.c:22:11:22:11 | a |
|
|
|
|
|
| struct_init.c:24:10:24:12 | & ... [a] | struct_init.c:14:24:14:25 | ab [a] |
|
|
|
|
|
| struct_init.c:26:23:29:3 | {...} [nestedAB, a] | struct_init.c:31:8:31:12 | outer [nestedAB, a] |
|
|
|
|
|
| struct_init.c:26:23:29:3 | {...} [nestedAB, a] | struct_init.c:36:11:36:15 | outer [nestedAB, a] |
|
|
|
|
|
| struct_init.c:26:23:29:3 | {...} [pointerAB, a] | struct_init.c:33:8:33:12 | outer [pointerAB, a] |
|
|
|
|
|
| struct_init.c:26:23:29:3 | {...} [pointerAB, a] | struct_init.c:37:10:37:14 | outer [pointerAB, a] |
|
|
|
|
|
| struct_init.c:27:5:27:23 | {...} [a] | struct_init.c:26:23:29:3 | {...} [nestedAB, a] |
|
|
|
|
|
| struct_init.c:27:7:27:16 | call to user_input | struct_init.c:27:5:27:23 | {...} [a] |
|
|
|
|
|
| struct_init.c:28:5:28:7 | & ... [a] | struct_init.c:26:23:29:3 | {...} [pointerAB, a] |
|
|
|
|
|
| struct_init.c:31:8:31:12 | outer [nestedAB, a] | struct_init.c:31:14:31:21 | nestedAB [a] |
|
|
|
|
|
| struct_init.c:31:14:31:21 | nestedAB [a] | struct_init.c:31:23:31:23 | a |
|
|
|
|
|
| struct_init.c:33:8:33:12 | outer [pointerAB, a] | struct_init.c:33:14:33:22 | pointerAB [a] |
|
|
|
|
|
| struct_init.c:33:14:33:22 | pointerAB [a] | struct_init.c:33:25:33:25 | a |
|
|
|
|
|
| struct_init.c:36:10:36:24 | & ... [a] | struct_init.c:14:24:14:25 | ab [a] |
|
|
|
|
|
| struct_init.c:36:11:36:15 | outer [nestedAB, a] | struct_init.c:36:17:36:24 | nestedAB [a] |
|
|
|
|
|
| struct_init.c:36:17:36:24 | nestedAB [a] | struct_init.c:36:10:36:24 | & ... [a] |
|
|
|
|
|
| struct_init.c:37:10:37:14 | outer [pointerAB, a] | struct_init.c:37:16:37:24 | pointerAB [a] |
|
|
|
|
|
| struct_init.c:37:16:37:24 | pointerAB [a] | struct_init.c:14:24:14:25 | ab [a] |
|
|
|
|
|
nodes
|
|
|
|
|
| A.cpp:41:15:41:21 | new | semmle.label | new |
|
|
|
|
|
| A.cpp:43:10:43:12 | & ... | semmle.label | & ... |
|
|
|
|
|
@@ -390,6 +409,10 @@ nodes
|
|
|
|
|
| by_reference.cpp:62:25:62:34 | call to user_input | semmle.label | call to user_input |
|
|
|
|
|
| by_reference.cpp:63:8:63:8 | s [a] | semmle.label | s [a] |
|
|
|
|
|
| by_reference.cpp:63:10:63:28 | call to getThroughNonMember | semmle.label | call to getThroughNonMember |
|
|
|
|
|
| by_reference.cpp:68:17:68:18 | ref arg & ... [a] | semmle.label | ref arg & ... [a] |
|
|
|
|
|
| by_reference.cpp:68:21:68:30 | call to user_input | semmle.label | call to user_input |
|
|
|
|
|
| by_reference.cpp:69:8:69:20 | call to nonMemberGetA | semmle.label | call to nonMemberGetA |
|
|
|
|
|
| by_reference.cpp:69:22:69:23 | & ... [a] | semmle.label | & ... [a] |
|
|
|
|
|
| complex.cpp:34:15:34:15 | b [f, a_] | semmle.label | b [f, a_] |
|
|
|
|
|
| complex.cpp:34:15:34:15 | b [f, b_] | semmle.label | b [f, b_] |
|
|
|
|
|
| complex.cpp:44:8:44:8 | b [f, a_] | semmle.label | b [f, a_] |
|
|
|
|
|
@@ -450,16 +473,30 @@ nodes
|
|
|
|
|
| simple.cpp:48:9:48:9 | g [b_] | semmle.label | g [b_] |
|
|
|
|
|
| simple.cpp:51:9:51:9 | h [a_] | semmle.label | h [a_] |
|
|
|
|
|
| simple.cpp:51:9:51:9 | h [b_] | semmle.label | h [b_] |
|
|
|
|
|
| struct_init.c:14:24:14:25 | ab [a] | semmle.label | ab [a] |
|
|
|
|
|
| struct_init.c:15:8:15:9 | ab [a] | semmle.label | ab [a] |
|
|
|
|
|
| struct_init.c:15:12:15:12 | a | semmle.label | a |
|
|
|
|
|
| struct_init.c:20:17:20:36 | {...} [a] | semmle.label | {...} [a] |
|
|
|
|
|
| struct_init.c:20:20:20:29 | call to user_input | semmle.label | call to user_input |
|
|
|
|
|
| struct_init.c:22:8:22:9 | ab [a] | semmle.label | ab [a] |
|
|
|
|
|
| struct_init.c:22:11:22:11 | a | semmle.label | a |
|
|
|
|
|
| struct_init.c:24:10:24:12 | & ... [a] | semmle.label | & ... [a] |
|
|
|
|
|
| struct_init.c:26:23:29:3 | {...} [nestedAB, a] | semmle.label | {...} [nestedAB, a] |
|
|
|
|
|
| struct_init.c:26:23:29:3 | {...} [pointerAB, a] | semmle.label | {...} [pointerAB, a] |
|
|
|
|
|
| struct_init.c:27:5:27:23 | {...} [a] | semmle.label | {...} [a] |
|
|
|
|
|
| struct_init.c:27:7:27:16 | call to user_input | semmle.label | call to user_input |
|
|
|
|
|
| struct_init.c:28:5:28:7 | & ... [a] | semmle.label | & ... [a] |
|
|
|
|
|
| struct_init.c:31:8:31:12 | outer [nestedAB, a] | semmle.label | outer [nestedAB, a] |
|
|
|
|
|
| struct_init.c:31:14:31:21 | nestedAB [a] | semmle.label | nestedAB [a] |
|
|
|
|
|
| struct_init.c:31:23:31:23 | a | semmle.label | a |
|
|
|
|
|
| struct_init.c:33:8:33:12 | outer [pointerAB, a] | semmle.label | outer [pointerAB, a] |
|
|
|
|
|
| struct_init.c:33:14:33:22 | pointerAB [a] | semmle.label | pointerAB [a] |
|
|
|
|
|
| struct_init.c:33:25:33:25 | a | semmle.label | a |
|
|
|
|
|
| struct_init.c:36:10:36:24 | & ... [a] | semmle.label | & ... [a] |
|
|
|
|
|
| struct_init.c:36:11:36:15 | outer [nestedAB, a] | semmle.label | outer [nestedAB, a] |
|
|
|
|
|
| struct_init.c:36:17:36:24 | nestedAB [a] | semmle.label | nestedAB [a] |
|
|
|
|
|
| struct_init.c:37:10:37:14 | outer [pointerAB, a] | semmle.label | outer [pointerAB, a] |
|
|
|
|
|
| struct_init.c:37:16:37:24 | pointerAB [a] | semmle.label | pointerAB [a] |
|
|
|
|
|
#select
|
|
|
|
|
| A.cpp:43:10:43:12 | & ... | A.cpp:41:15:41:21 | new | A.cpp:43:10:43:12 | & ... | & ... flows from $@ | A.cpp:41:15:41:21 | new | new |
|
|
|
|
|
| A.cpp:49:13:49:13 | c | A.cpp:47:12:47:18 | new | A.cpp:49:13:49:13 | c | c flows from $@ | A.cpp:47:12:47:18 | new | new |
|
|
|
|
|
@@ -492,6 +529,7 @@ nodes
|
|
|
|
|
| by_reference.cpp:51:10:51:20 | call to getDirectly | by_reference.cpp:50:17:50:26 | call to user_input | by_reference.cpp:51:10:51:20 | call to getDirectly | call to getDirectly flows from $@ | by_reference.cpp:50:17:50:26 | call to user_input | call to user_input |
|
|
|
|
|
| by_reference.cpp:57:10:57:22 | call to getIndirectly | by_reference.cpp:56:19:56:28 | call to user_input | by_reference.cpp:57:10:57:22 | call to getIndirectly | call to getIndirectly flows from $@ | by_reference.cpp:56:19:56:28 | call to user_input | call to user_input |
|
|
|
|
|
| by_reference.cpp:63:10:63:28 | call to getThroughNonMember | by_reference.cpp:62:25:62:34 | call to user_input | by_reference.cpp:63:10:63:28 | call to getThroughNonMember | call to getThroughNonMember flows from $@ | by_reference.cpp:62:25:62:34 | call to user_input | call to user_input |
|
|
|
|
|
| by_reference.cpp:69:8:69:20 | call to nonMemberGetA | by_reference.cpp:68:21:68:30 | call to user_input | by_reference.cpp:69:8:69:20 | call to nonMemberGetA | call to nonMemberGetA flows from $@ | by_reference.cpp:68:21:68:30 | call to user_input | call to user_input |
|
|
|
|
|
| complex.cpp:44:12:44:12 | call to a | complex.cpp:55:13:55:22 | call to user_input | complex.cpp:44:12:44:12 | call to a | call to a flows from $@ | complex.cpp:55:13:55:22 | call to user_input | call to user_input |
|
|
|
|
|
| complex.cpp:44:12:44:12 | call to a | complex.cpp:57:13:57:22 | call to user_input | complex.cpp:44:12:44:12 | call to a | call to a flows from $@ | complex.cpp:57:13:57:22 | call to user_input | call to user_input |
|
|
|
|
|
| complex.cpp:45:12:45:12 | call to b | complex.cpp:56:13:56:22 | call to user_input | complex.cpp:45:12:45:12 | call to b | call to b flows from $@ | complex.cpp:56:13:56:22 | call to user_input | call to user_input |
|
|
|
|
|
@@ -504,5 +542,8 @@ nodes
|
|
|
|
|
| simple.cpp:28:12:28:12 | call to a | simple.cpp:41:12:41:21 | call to user_input | simple.cpp:28:12:28:12 | call to a | call to a flows from $@ | simple.cpp:41:12:41:21 | call to user_input | call to user_input |
|
|
|
|
|
| simple.cpp:29:12:29:12 | call to b | simple.cpp:40:12:40:21 | call to user_input | simple.cpp:29:12:29:12 | call to b | call to b flows from $@ | simple.cpp:40:12:40:21 | call to user_input | call to user_input |
|
|
|
|
|
| simple.cpp:29:12:29:12 | call to b | simple.cpp:42:12:42:21 | call to user_input | simple.cpp:29:12:29:12 | call to b | call to b flows from $@ | simple.cpp:42:12:42:21 | call to user_input | call to user_input |
|
|
|
|
|
| struct_init.c:15:12:15:12 | a | struct_init.c:20:20:20:29 | call to user_input | struct_init.c:15:12:15:12 | a | a flows from $@ | struct_init.c:20:20:20:29 | call to user_input | call to user_input |
|
|
|
|
|
| struct_init.c:15:12:15:12 | a | struct_init.c:27:7:27:16 | call to user_input | struct_init.c:15:12:15:12 | a | a flows from $@ | struct_init.c:27:7:27:16 | call to user_input | call to user_input |
|
|
|
|
|
| struct_init.c:22:11:22:11 | a | struct_init.c:20:20:20:29 | call to user_input | struct_init.c:22:11:22:11 | a | a flows from $@ | struct_init.c:20:20:20:29 | call to user_input | call to user_input |
|
|
|
|
|
| struct_init.c:31:23:31:23 | a | struct_init.c:27:7:27:16 | call to user_input | struct_init.c:31:23:31:23 | a | a flows from $@ | struct_init.c:27:7:27:16 | call to user_input | call to user_input |
|
|
|
|
|
| struct_init.c:33:25:33:25 | a | struct_init.c:20:20:20:29 | call to user_input | struct_init.c:33:25:33:25 | a | a flows from $@ | struct_init.c:20:20:20:29 | call to user_input | call to user_input |
|
|
|
|
|
|