mirror of
https://github.com/github/codeql.git
synced 2026-05-03 20:58:03 +02:00
C++: Handle more cases in arrayReadStep.
This commit is contained in:
@@ -355,17 +355,28 @@ private class ArrayToPointerConvertInstruction extends ConvertInstruction {
|
||||
}
|
||||
}
|
||||
|
||||
private Instruction skipOneCopyValueInstruction(Instruction instr) {
|
||||
not instr instanceof CopyValueInstruction and result = instr
|
||||
or
|
||||
result = instr.(CopyValueInstruction).getUnary()
|
||||
}
|
||||
|
||||
private Instruction skipCopyValueInstructions(Instruction instr) {
|
||||
result = skipOneCopyValueInstruction*(instr) and not result instanceof CopyValueInstruction
|
||||
}
|
||||
|
||||
private predicate arrayReadStep(Node node1, ArrayContent a, Node node2) {
|
||||
a = TArrayContent() and
|
||||
// Explicit dereferences such as `*p` or `p[i]` where `p` is a pointer or array.
|
||||
exists(LoadInstruction load |
|
||||
exists(LoadInstruction load, Instruction address |
|
||||
load.getSourceValueOperand().isDefinitionInexact() and
|
||||
node1.asInstruction() = load.getSourceValueOperand().getAnyDef() and
|
||||
load = node2.asInstruction() and
|
||||
address = skipCopyValueInstructions(load.getSourceAddress()) and
|
||||
(
|
||||
load.getSourceAddress() instanceof LoadInstruction or
|
||||
load.getSourceAddress() instanceof ArrayToPointerConvertInstruction or
|
||||
load.getSourceAddress() instanceof PointerAddInstruction
|
||||
address instanceof LoadInstruction or
|
||||
address instanceof ArrayToPointerConvertInstruction or
|
||||
address instanceof PointerOffsetInstruction
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -122,6 +122,21 @@ void pointer_deref(int* xs) {
|
||||
sink(xs[0]); // $f-:ast $ir
|
||||
}
|
||||
|
||||
void pointer_deref_sub(int* xs) {
|
||||
taint_a_ptr(xs - 2);
|
||||
sink(*(xs - 2)); // $f-:ast $ir
|
||||
}
|
||||
|
||||
void pointer_many_addrof_and_deref(int* xs) {
|
||||
taint_a_ptr(xs);
|
||||
sink(*&*&*xs); // $f-:ast $ir
|
||||
}
|
||||
|
||||
void pointer_unary_plus(int* xs) {
|
||||
taint_a_ptr(+xs);
|
||||
sink(*+xs); // $f-:ast $ir
|
||||
}
|
||||
|
||||
void pointer_member_index(S_with_pointer s) {
|
||||
taint_a_ptr(s.data);
|
||||
// `s.data` is points to all-aliased-memory
|
||||
|
||||
@@ -22,6 +22,9 @@
|
||||
| aliasing.cpp:86:10:86:19 | call to user_input | aliasing.cpp:87:12:87:13 | m1 | IR only |
|
||||
| aliasing.cpp:98:10:98:19 | call to user_input | aliasing.cpp:102:8:102:10 | * ... | IR only |
|
||||
| aliasing.cpp:106:9:106:18 | call to user_input | aliasing.cpp:122:8:122:12 | access to array | IR only |
|
||||
| aliasing.cpp:106:9:106:18 | call to user_input | aliasing.cpp:127:8:127:16 | * ... | IR only |
|
||||
| aliasing.cpp:106:9:106:18 | call to user_input | aliasing.cpp:132:8:132:14 | * ... | IR only |
|
||||
| aliasing.cpp:106:9:106:18 | call to user_input | aliasing.cpp:137:8:137:11 | * ... | IR only |
|
||||
| arrays.cpp:6:12:6:21 | call to user_input | arrays.cpp:8:8:8:13 | access to array | AST only |
|
||||
| arrays.cpp:15:14:15:23 | call to user_input | arrays.cpp:17:8:17:13 | access to array | AST only |
|
||||
| arrays.cpp:36:26:36:35 | call to user_input | arrays.cpp:38:24:38:27 | data | AST only |
|
||||
|
||||
@@ -65,29 +65,38 @@ edges
|
||||
| aliasing.cpp:98:10:98:19 | call to user_input | aliasing.cpp:98:3:98:21 | Store |
|
||||
| aliasing.cpp:100:14:100:14 | Store [m1] | aliasing.cpp:102:8:102:10 | * ... |
|
||||
| aliasing.cpp:106:3:106:20 | Chi [array content] | aliasing.cpp:121:15:121:16 | taint_a_ptr output argument [array content] |
|
||||
| aliasing.cpp:106:3:106:20 | Chi [array content] | aliasing.cpp:143:15:143:20 | taint_a_ptr output argument [array content] |
|
||||
| aliasing.cpp:106:3:106:20 | Chi [array content] | aliasing.cpp:149:15:149:20 | taint_a_ptr output argument [array content] |
|
||||
| aliasing.cpp:106:3:106:20 | Chi [array content] | aliasing.cpp:160:15:160:22 | taint_a_ptr output argument [array content] |
|
||||
| aliasing.cpp:106:3:106:20 | Chi [array content] | aliasing.cpp:172:15:172:22 | taint_a_ptr output argument [array content] |
|
||||
| aliasing.cpp:106:3:106:20 | Chi [array content] | aliasing.cpp:185:15:185:24 | taint_a_ptr output argument [array content] |
|
||||
| aliasing.cpp:106:3:106:20 | Chi [array content] | aliasing.cpp:126:15:126:20 | taint_a_ptr output argument [array content] |
|
||||
| aliasing.cpp:106:3:106:20 | Chi [array content] | aliasing.cpp:131:15:131:16 | taint_a_ptr output argument [array content] |
|
||||
| aliasing.cpp:106:3:106:20 | Chi [array content] | aliasing.cpp:136:15:136:17 | taint_a_ptr output argument [array content] |
|
||||
| aliasing.cpp:106:3:106:20 | Chi [array content] | aliasing.cpp:158:15:158:20 | taint_a_ptr output argument [array content] |
|
||||
| aliasing.cpp:106:3:106:20 | Chi [array content] | aliasing.cpp:164:15:164:20 | taint_a_ptr output argument [array content] |
|
||||
| aliasing.cpp:106:3:106:20 | Chi [array content] | aliasing.cpp:175:15:175:22 | taint_a_ptr output argument [array content] |
|
||||
| aliasing.cpp:106:3:106:20 | Chi [array content] | aliasing.cpp:187:15:187:22 | taint_a_ptr output argument [array content] |
|
||||
| aliasing.cpp:106:3:106:20 | Chi [array content] | aliasing.cpp:200:15:200:24 | taint_a_ptr output argument [array content] |
|
||||
| aliasing.cpp:106:3:106:20 | Store | aliasing.cpp:106:3:106:20 | Chi [array content] |
|
||||
| aliasing.cpp:106:9:106:18 | call to user_input | aliasing.cpp:106:3:106:20 | Store |
|
||||
| aliasing.cpp:121:15:121:16 | Chi [array content] | aliasing.cpp:122:8:122:12 | access to array |
|
||||
| aliasing.cpp:121:15:121:16 | taint_a_ptr output argument [array content] | aliasing.cpp:121:15:121:16 | Chi [array content] |
|
||||
| aliasing.cpp:143:15:143:20 | Chi [array content] | aliasing.cpp:144:8:144:14 | * ... |
|
||||
| aliasing.cpp:143:15:143:20 | taint_a_ptr output argument [array content] | aliasing.cpp:143:15:143:20 | Chi [array content] |
|
||||
| aliasing.cpp:149:15:149:20 | Chi [array content] | aliasing.cpp:150:8:150:16 | access to array |
|
||||
| aliasing.cpp:149:15:149:20 | taint_a_ptr output argument [array content] | aliasing.cpp:149:15:149:20 | Chi [array content] |
|
||||
| aliasing.cpp:160:15:160:22 | Chi | aliasing.cpp:160:15:160:22 | Chi [m1] |
|
||||
| aliasing.cpp:160:15:160:22 | Chi [m1] | aliasing.cpp:161:13:161:14 | m1 |
|
||||
| aliasing.cpp:160:15:160:22 | taint_a_ptr output argument [array content] | aliasing.cpp:160:15:160:22 | Chi |
|
||||
| aliasing.cpp:172:15:172:22 | Chi | aliasing.cpp:172:15:172:22 | Chi [m1] |
|
||||
| aliasing.cpp:172:15:172:22 | Chi [m1] | aliasing.cpp:173:13:173:14 | Store [m1] |
|
||||
| aliasing.cpp:172:15:172:22 | taint_a_ptr output argument [array content] | aliasing.cpp:172:15:172:22 | Chi |
|
||||
| aliasing.cpp:173:13:173:14 | Store [m1] | aliasing.cpp:174:15:174:16 | m1 |
|
||||
| aliasing.cpp:185:15:185:24 | Chi | aliasing.cpp:185:15:185:24 | Chi [m1] |
|
||||
| aliasing.cpp:185:15:185:24 | Chi [m1] | aliasing.cpp:186:15:186:16 | m1 |
|
||||
| aliasing.cpp:185:15:185:24 | taint_a_ptr output argument [array content] | aliasing.cpp:185:15:185:24 | Chi |
|
||||
| aliasing.cpp:126:15:126:20 | Chi [array content] | aliasing.cpp:127:8:127:16 | * ... |
|
||||
| aliasing.cpp:126:15:126:20 | taint_a_ptr output argument [array content] | aliasing.cpp:126:15:126:20 | Chi [array content] |
|
||||
| aliasing.cpp:131:15:131:16 | Chi [array content] | aliasing.cpp:132:8:132:14 | * ... |
|
||||
| aliasing.cpp:131:15:131:16 | taint_a_ptr output argument [array content] | aliasing.cpp:131:15:131:16 | Chi [array content] |
|
||||
| aliasing.cpp:136:15:136:17 | Chi [array content] | aliasing.cpp:137:8:137:11 | * ... |
|
||||
| aliasing.cpp:136:15:136:17 | taint_a_ptr output argument [array content] | aliasing.cpp:136:15:136:17 | Chi [array content] |
|
||||
| aliasing.cpp:158:15:158:20 | Chi [array content] | aliasing.cpp:159:8:159:14 | * ... |
|
||||
| aliasing.cpp:158:15:158:20 | taint_a_ptr output argument [array content] | aliasing.cpp:158:15:158:20 | Chi [array content] |
|
||||
| aliasing.cpp:164:15:164:20 | Chi [array content] | aliasing.cpp:165:8:165:16 | access to array |
|
||||
| aliasing.cpp:164:15:164:20 | taint_a_ptr output argument [array content] | aliasing.cpp:164:15:164:20 | Chi [array content] |
|
||||
| aliasing.cpp:175:15:175:22 | Chi | aliasing.cpp:175:15:175:22 | Chi [m1] |
|
||||
| aliasing.cpp:175:15:175:22 | Chi [m1] | aliasing.cpp:176:13:176:14 | m1 |
|
||||
| aliasing.cpp:175:15:175:22 | taint_a_ptr output argument [array content] | aliasing.cpp:175:15:175:22 | Chi |
|
||||
| aliasing.cpp:187:15:187:22 | Chi | aliasing.cpp:187:15:187:22 | Chi [m1] |
|
||||
| aliasing.cpp:187:15:187:22 | Chi [m1] | aliasing.cpp:188:13:188:14 | Store [m1] |
|
||||
| aliasing.cpp:187:15:187:22 | taint_a_ptr output argument [array content] | aliasing.cpp:187:15:187:22 | Chi |
|
||||
| aliasing.cpp:188:13:188:14 | Store [m1] | aliasing.cpp:189:15:189:16 | m1 |
|
||||
| aliasing.cpp:200:15:200:24 | Chi | aliasing.cpp:200:15:200:24 | Chi [m1] |
|
||||
| aliasing.cpp:200:15:200:24 | Chi [m1] | aliasing.cpp:201:15:201:16 | m1 |
|
||||
| aliasing.cpp:200:15:200:24 | taint_a_ptr output argument [array content] | aliasing.cpp:200:15:200:24 | Chi |
|
||||
| arrays.cpp:6:12:6:21 | call to user_input | arrays.cpp:7:8:7:13 | access to array |
|
||||
| arrays.cpp:6:12:6:21 | call to user_input | arrays.cpp:9:8:9:11 | * ... |
|
||||
| arrays.cpp:6:12:6:21 | call to user_input | arrays.cpp:10:8:10:15 | * ... |
|
||||
@@ -314,25 +323,34 @@ nodes
|
||||
| aliasing.cpp:121:15:121:16 | Chi [array content] | semmle.label | Chi [array content] |
|
||||
| aliasing.cpp:121:15:121:16 | taint_a_ptr output argument [array content] | semmle.label | taint_a_ptr output argument [array content] |
|
||||
| aliasing.cpp:122:8:122:12 | access to array | semmle.label | access to array |
|
||||
| aliasing.cpp:143:15:143:20 | Chi [array content] | semmle.label | Chi [array content] |
|
||||
| aliasing.cpp:143:15:143:20 | taint_a_ptr output argument [array content] | semmle.label | taint_a_ptr output argument [array content] |
|
||||
| aliasing.cpp:144:8:144:14 | * ... | semmle.label | * ... |
|
||||
| aliasing.cpp:149:15:149:20 | Chi [array content] | semmle.label | Chi [array content] |
|
||||
| aliasing.cpp:149:15:149:20 | taint_a_ptr output argument [array content] | semmle.label | taint_a_ptr output argument [array content] |
|
||||
| aliasing.cpp:150:8:150:16 | access to array | semmle.label | access to array |
|
||||
| aliasing.cpp:160:15:160:22 | Chi | semmle.label | Chi |
|
||||
| aliasing.cpp:160:15:160:22 | Chi [m1] | semmle.label | Chi [m1] |
|
||||
| aliasing.cpp:160:15:160:22 | taint_a_ptr output argument [array content] | semmle.label | taint_a_ptr output argument [array content] |
|
||||
| aliasing.cpp:161:13:161:14 | m1 | semmle.label | m1 |
|
||||
| aliasing.cpp:172:15:172:22 | Chi | semmle.label | Chi |
|
||||
| aliasing.cpp:172:15:172:22 | Chi [m1] | semmle.label | Chi [m1] |
|
||||
| aliasing.cpp:172:15:172:22 | taint_a_ptr output argument [array content] | semmle.label | taint_a_ptr output argument [array content] |
|
||||
| aliasing.cpp:173:13:173:14 | Store [m1] | semmle.label | Store [m1] |
|
||||
| aliasing.cpp:174:15:174:16 | m1 | semmle.label | m1 |
|
||||
| aliasing.cpp:185:15:185:24 | Chi | semmle.label | Chi |
|
||||
| aliasing.cpp:185:15:185:24 | Chi [m1] | semmle.label | Chi [m1] |
|
||||
| aliasing.cpp:185:15:185:24 | taint_a_ptr output argument [array content] | semmle.label | taint_a_ptr output argument [array content] |
|
||||
| aliasing.cpp:186:15:186:16 | m1 | semmle.label | m1 |
|
||||
| aliasing.cpp:126:15:126:20 | Chi [array content] | semmle.label | Chi [array content] |
|
||||
| aliasing.cpp:126:15:126:20 | taint_a_ptr output argument [array content] | semmle.label | taint_a_ptr output argument [array content] |
|
||||
| aliasing.cpp:127:8:127:16 | * ... | semmle.label | * ... |
|
||||
| aliasing.cpp:131:15:131:16 | Chi [array content] | semmle.label | Chi [array content] |
|
||||
| aliasing.cpp:131:15:131:16 | taint_a_ptr output argument [array content] | semmle.label | taint_a_ptr output argument [array content] |
|
||||
| aliasing.cpp:132:8:132:14 | * ... | semmle.label | * ... |
|
||||
| aliasing.cpp:136:15:136:17 | Chi [array content] | semmle.label | Chi [array content] |
|
||||
| aliasing.cpp:136:15:136:17 | taint_a_ptr output argument [array content] | semmle.label | taint_a_ptr output argument [array content] |
|
||||
| aliasing.cpp:137:8:137:11 | * ... | semmle.label | * ... |
|
||||
| aliasing.cpp:158:15:158:20 | Chi [array content] | semmle.label | Chi [array content] |
|
||||
| aliasing.cpp:158:15:158:20 | taint_a_ptr output argument [array content] | semmle.label | taint_a_ptr output argument [array content] |
|
||||
| aliasing.cpp:159:8:159:14 | * ... | semmle.label | * ... |
|
||||
| aliasing.cpp:164:15:164:20 | Chi [array content] | semmle.label | Chi [array content] |
|
||||
| aliasing.cpp:164:15:164:20 | taint_a_ptr output argument [array content] | semmle.label | taint_a_ptr output argument [array content] |
|
||||
| aliasing.cpp:165:8:165:16 | access to array | semmle.label | access to array |
|
||||
| aliasing.cpp:175:15:175:22 | Chi | semmle.label | Chi |
|
||||
| aliasing.cpp:175:15:175:22 | Chi [m1] | semmle.label | Chi [m1] |
|
||||
| aliasing.cpp:175:15:175:22 | taint_a_ptr output argument [array content] | semmle.label | taint_a_ptr output argument [array content] |
|
||||
| aliasing.cpp:176:13:176:14 | m1 | semmle.label | m1 |
|
||||
| aliasing.cpp:187:15:187:22 | Chi | semmle.label | Chi |
|
||||
| aliasing.cpp:187:15:187:22 | Chi [m1] | semmle.label | Chi [m1] |
|
||||
| aliasing.cpp:187:15:187:22 | taint_a_ptr output argument [array content] | semmle.label | taint_a_ptr output argument [array content] |
|
||||
| aliasing.cpp:188:13:188:14 | Store [m1] | semmle.label | Store [m1] |
|
||||
| aliasing.cpp:189:15:189:16 | m1 | semmle.label | m1 |
|
||||
| aliasing.cpp:200:15:200:24 | Chi | semmle.label | Chi |
|
||||
| aliasing.cpp:200:15:200:24 | Chi [m1] | semmle.label | Chi [m1] |
|
||||
| aliasing.cpp:200:15:200:24 | taint_a_ptr output argument [array content] | semmle.label | taint_a_ptr output argument [array content] |
|
||||
| aliasing.cpp:201:15:201:16 | m1 | semmle.label | m1 |
|
||||
| arrays.cpp:6:12:6:21 | call to user_input | semmle.label | call to user_input |
|
||||
| arrays.cpp:7:8:7:13 | access to array | semmle.label | access to array |
|
||||
| arrays.cpp:9:8:9:11 | * ... | semmle.label | * ... |
|
||||
@@ -507,11 +525,14 @@ nodes
|
||||
| aliasing.cpp:93:12:93:13 | m1 | aliasing.cpp:92:12:92:21 | call to user_input | aliasing.cpp:93:12:93:13 | m1 | m1 flows from $@ | aliasing.cpp:92:12:92:21 | call to user_input | call to user_input |
|
||||
| aliasing.cpp:102:8:102:10 | * ... | aliasing.cpp:98:10:98:19 | call to user_input | aliasing.cpp:102:8:102:10 | * ... | * ... flows from $@ | aliasing.cpp:98:10:98:19 | call to user_input | call to user_input |
|
||||
| aliasing.cpp:122:8:122:12 | access to array | aliasing.cpp:106:9:106:18 | call to user_input | aliasing.cpp:122:8:122:12 | access to array | access to array flows from $@ | aliasing.cpp:106:9:106:18 | call to user_input | call to user_input |
|
||||
| aliasing.cpp:144:8:144:14 | * ... | aliasing.cpp:106:9:106:18 | call to user_input | aliasing.cpp:144:8:144:14 | * ... | * ... flows from $@ | aliasing.cpp:106:9:106:18 | call to user_input | call to user_input |
|
||||
| aliasing.cpp:150:8:150:16 | access to array | aliasing.cpp:106:9:106:18 | call to user_input | aliasing.cpp:150:8:150:16 | access to array | access to array flows from $@ | aliasing.cpp:106:9:106:18 | call to user_input | call to user_input |
|
||||
| aliasing.cpp:161:13:161:14 | m1 | aliasing.cpp:106:9:106:18 | call to user_input | aliasing.cpp:161:13:161:14 | m1 | m1 flows from $@ | aliasing.cpp:106:9:106:18 | call to user_input | call to user_input |
|
||||
| aliasing.cpp:174:15:174:16 | m1 | aliasing.cpp:106:9:106:18 | call to user_input | aliasing.cpp:174:15:174:16 | m1 | m1 flows from $@ | aliasing.cpp:106:9:106:18 | call to user_input | call to user_input |
|
||||
| aliasing.cpp:186:15:186:16 | m1 | aliasing.cpp:106:9:106:18 | call to user_input | aliasing.cpp:186:15:186:16 | m1 | m1 flows from $@ | aliasing.cpp:106:9:106:18 | call to user_input | call to user_input |
|
||||
| aliasing.cpp:127:8:127:16 | * ... | aliasing.cpp:106:9:106:18 | call to user_input | aliasing.cpp:127:8:127:16 | * ... | * ... flows from $@ | aliasing.cpp:106:9:106:18 | call to user_input | call to user_input |
|
||||
| aliasing.cpp:132:8:132:14 | * ... | aliasing.cpp:106:9:106:18 | call to user_input | aliasing.cpp:132:8:132:14 | * ... | * ... flows from $@ | aliasing.cpp:106:9:106:18 | call to user_input | call to user_input |
|
||||
| aliasing.cpp:137:8:137:11 | * ... | aliasing.cpp:106:9:106:18 | call to user_input | aliasing.cpp:137:8:137:11 | * ... | * ... flows from $@ | aliasing.cpp:106:9:106:18 | call to user_input | call to user_input |
|
||||
| aliasing.cpp:159:8:159:14 | * ... | aliasing.cpp:106:9:106:18 | call to user_input | aliasing.cpp:159:8:159:14 | * ... | * ... flows from $@ | aliasing.cpp:106:9:106:18 | call to user_input | call to user_input |
|
||||
| aliasing.cpp:165:8:165:16 | access to array | aliasing.cpp:106:9:106:18 | call to user_input | aliasing.cpp:165:8:165:16 | access to array | access to array flows from $@ | aliasing.cpp:106:9:106:18 | call to user_input | call to user_input |
|
||||
| aliasing.cpp:176:13:176:14 | m1 | aliasing.cpp:106:9:106:18 | call to user_input | aliasing.cpp:176:13:176:14 | m1 | m1 flows from $@ | aliasing.cpp:106:9:106:18 | call to user_input | call to user_input |
|
||||
| aliasing.cpp:189:15:189:16 | m1 | aliasing.cpp:106:9:106:18 | call to user_input | aliasing.cpp:189:15:189:16 | m1 | m1 flows from $@ | aliasing.cpp:106:9:106:18 | call to user_input | call to user_input |
|
||||
| aliasing.cpp:201:15:201:16 | m1 | aliasing.cpp:106:9:106:18 | call to user_input | aliasing.cpp:201:15:201:16 | m1 | m1 flows from $@ | aliasing.cpp:106:9:106:18 | call to user_input | call to user_input |
|
||||
| arrays.cpp:7:8:7:13 | access to array | arrays.cpp:6:12:6:21 | call to user_input | arrays.cpp:7:8:7:13 | access to array | access to array flows from $@ | arrays.cpp:6:12:6:21 | call to user_input | call to user_input |
|
||||
| arrays.cpp:9:8:9:11 | * ... | arrays.cpp:6:12:6:21 | call to user_input | arrays.cpp:9:8:9:11 | * ... | * ... flows from $@ | arrays.cpp:6:12:6:21 | call to user_input | call to user_input |
|
||||
| arrays.cpp:10:8:10:15 | * ... | arrays.cpp:6:12:6:21 | call to user_input | arrays.cpp:10:8:10:15 | * ... | * ... flows from $@ | arrays.cpp:6:12:6:21 | call to user_input | call to user_input |
|
||||
|
||||
@@ -161,25 +161,28 @@
|
||||
| aliasing.cpp:106:3:106:5 | * ... | AST only |
|
||||
| aliasing.cpp:111:15:111:19 | & ... | AST only |
|
||||
| aliasing.cpp:121:15:121:16 | xs | AST only |
|
||||
| aliasing.cpp:126:15:126:15 | s | AST only |
|
||||
| aliasing.cpp:126:17:126:20 | data | AST only |
|
||||
| aliasing.cpp:132:15:132:22 | & ... | AST only |
|
||||
| aliasing.cpp:143:15:143:15 | s | AST only |
|
||||
| aliasing.cpp:143:17:143:20 | data | AST only |
|
||||
| aliasing.cpp:149:15:149:15 | s | AST only |
|
||||
| aliasing.cpp:149:17:149:20 | data | AST only |
|
||||
| aliasing.cpp:160:15:160:22 | & ... | AST only |
|
||||
| aliasing.cpp:160:16:160:17 | s2 | AST only |
|
||||
| aliasing.cpp:166:15:166:22 | & ... | AST only |
|
||||
| aliasing.cpp:166:16:166:17 | s2 | AST only |
|
||||
| aliasing.cpp:172:15:172:22 | & ... | AST only |
|
||||
| aliasing.cpp:172:16:172:17 | s2 | AST only |
|
||||
| aliasing.cpp:179:15:179:22 | & ... | AST only |
|
||||
| aliasing.cpp:179:16:179:17 | s2 | AST only |
|
||||
| aliasing.cpp:185:15:185:24 | & ... | AST only |
|
||||
| aliasing.cpp:185:16:185:18 | ps2 | AST only |
|
||||
| aliasing.cpp:190:15:190:24 | & ... | AST only |
|
||||
| aliasing.cpp:190:16:190:18 | ps2 | AST only |
|
||||
| aliasing.cpp:126:15:126:20 | ... - ... | AST only |
|
||||
| aliasing.cpp:131:15:131:16 | xs | AST only |
|
||||
| aliasing.cpp:136:15:136:17 | + ... | AST only |
|
||||
| aliasing.cpp:141:15:141:15 | s | AST only |
|
||||
| aliasing.cpp:141:17:141:20 | data | AST only |
|
||||
| aliasing.cpp:147:15:147:22 | & ... | AST only |
|
||||
| aliasing.cpp:158:15:158:15 | s | AST only |
|
||||
| aliasing.cpp:158:17:158:20 | data | AST only |
|
||||
| aliasing.cpp:164:15:164:15 | s | AST only |
|
||||
| aliasing.cpp:164:17:164:20 | data | AST only |
|
||||
| aliasing.cpp:175:15:175:22 | & ... | AST only |
|
||||
| aliasing.cpp:175:16:175:17 | s2 | AST only |
|
||||
| aliasing.cpp:181:15:181:22 | & ... | AST only |
|
||||
| aliasing.cpp:181:16:181:17 | s2 | AST only |
|
||||
| aliasing.cpp:187:15:187:22 | & ... | AST only |
|
||||
| aliasing.cpp:187:16:187:17 | s2 | AST only |
|
||||
| aliasing.cpp:194:15:194:22 | & ... | AST only |
|
||||
| aliasing.cpp:194:16:194:17 | s2 | AST only |
|
||||
| aliasing.cpp:200:15:200:24 | & ... | AST only |
|
||||
| aliasing.cpp:200:16:200:18 | ps2 | AST only |
|
||||
| aliasing.cpp:205:15:205:24 | & ... | AST only |
|
||||
| aliasing.cpp:205:16:205:18 | ps2 | AST only |
|
||||
| arrays.cpp:6:3:6:8 | access to array | AST only |
|
||||
| arrays.cpp:6:3:6:23 | arr | IR only |
|
||||
| arrays.cpp:15:3:15:10 | * ... | AST only |
|
||||
|
||||
@@ -28,13 +28,13 @@
|
||||
| aliasing.cpp:92:5:92:5 | s |
|
||||
| aliasing.cpp:98:3:98:3 | s |
|
||||
| aliasing.cpp:111:16:111:16 | s |
|
||||
| aliasing.cpp:132:16:132:19 | access to array |
|
||||
| aliasing.cpp:160:19:160:19 | s |
|
||||
| aliasing.cpp:166:19:166:19 | s |
|
||||
| aliasing.cpp:172:19:172:19 | s |
|
||||
| aliasing.cpp:179:19:179:19 | s |
|
||||
| aliasing.cpp:185:21:185:21 | s |
|
||||
| aliasing.cpp:190:21:190:21 | s |
|
||||
| aliasing.cpp:147:16:147:19 | access to array |
|
||||
| aliasing.cpp:175:19:175:19 | s |
|
||||
| aliasing.cpp:181:19:181:19 | s |
|
||||
| aliasing.cpp:187:19:187:19 | s |
|
||||
| aliasing.cpp:194:19:194:19 | s |
|
||||
| aliasing.cpp:200:21:200:21 | s |
|
||||
| aliasing.cpp:205:21:205:21 | s |
|
||||
| arrays.cpp:6:3:6:5 | arr |
|
||||
| arrays.cpp:36:3:36:17 | access to array |
|
||||
| by_reference.cpp:12:5:12:5 | s |
|
||||
|
||||
@@ -191,32 +191,35 @@
|
||||
| aliasing.cpp:111:15:111:19 | & ... |
|
||||
| aliasing.cpp:111:16:111:16 | s |
|
||||
| aliasing.cpp:121:15:121:16 | xs |
|
||||
| aliasing.cpp:126:15:126:15 | s |
|
||||
| aliasing.cpp:126:17:126:20 | data |
|
||||
| aliasing.cpp:132:15:132:22 | & ... |
|
||||
| aliasing.cpp:132:16:132:19 | access to array |
|
||||
| aliasing.cpp:143:15:143:15 | s |
|
||||
| aliasing.cpp:143:17:143:20 | data |
|
||||
| aliasing.cpp:149:15:149:15 | s |
|
||||
| aliasing.cpp:149:17:149:20 | data |
|
||||
| aliasing.cpp:160:15:160:22 | & ... |
|
||||
| aliasing.cpp:160:16:160:17 | s2 |
|
||||
| aliasing.cpp:160:19:160:19 | s |
|
||||
| aliasing.cpp:166:15:166:22 | & ... |
|
||||
| aliasing.cpp:166:16:166:17 | s2 |
|
||||
| aliasing.cpp:166:19:166:19 | s |
|
||||
| aliasing.cpp:172:15:172:22 | & ... |
|
||||
| aliasing.cpp:172:16:172:17 | s2 |
|
||||
| aliasing.cpp:172:19:172:19 | s |
|
||||
| aliasing.cpp:179:15:179:22 | & ... |
|
||||
| aliasing.cpp:179:16:179:17 | s2 |
|
||||
| aliasing.cpp:179:19:179:19 | s |
|
||||
| aliasing.cpp:185:15:185:24 | & ... |
|
||||
| aliasing.cpp:185:16:185:18 | ps2 |
|
||||
| aliasing.cpp:185:21:185:21 | s |
|
||||
| aliasing.cpp:190:15:190:24 | & ... |
|
||||
| aliasing.cpp:190:16:190:18 | ps2 |
|
||||
| aliasing.cpp:190:21:190:21 | s |
|
||||
| aliasing.cpp:126:15:126:20 | ... - ... |
|
||||
| aliasing.cpp:131:15:131:16 | xs |
|
||||
| aliasing.cpp:136:15:136:17 | + ... |
|
||||
| aliasing.cpp:141:15:141:15 | s |
|
||||
| aliasing.cpp:141:17:141:20 | data |
|
||||
| aliasing.cpp:147:15:147:22 | & ... |
|
||||
| aliasing.cpp:147:16:147:19 | access to array |
|
||||
| aliasing.cpp:158:15:158:15 | s |
|
||||
| aliasing.cpp:158:17:158:20 | data |
|
||||
| aliasing.cpp:164:15:164:15 | s |
|
||||
| aliasing.cpp:164:17:164:20 | data |
|
||||
| aliasing.cpp:175:15:175:22 | & ... |
|
||||
| aliasing.cpp:175:16:175:17 | s2 |
|
||||
| aliasing.cpp:175:19:175:19 | s |
|
||||
| aliasing.cpp:181:15:181:22 | & ... |
|
||||
| aliasing.cpp:181:16:181:17 | s2 |
|
||||
| aliasing.cpp:181:19:181:19 | s |
|
||||
| aliasing.cpp:187:15:187:22 | & ... |
|
||||
| aliasing.cpp:187:16:187:17 | s2 |
|
||||
| aliasing.cpp:187:19:187:19 | s |
|
||||
| aliasing.cpp:194:15:194:22 | & ... |
|
||||
| aliasing.cpp:194:16:194:17 | s2 |
|
||||
| aliasing.cpp:194:19:194:19 | s |
|
||||
| aliasing.cpp:200:15:200:24 | & ... |
|
||||
| aliasing.cpp:200:16:200:18 | ps2 |
|
||||
| aliasing.cpp:200:21:200:21 | s |
|
||||
| aliasing.cpp:205:15:205:24 | & ... |
|
||||
| aliasing.cpp:205:16:205:18 | ps2 |
|
||||
| aliasing.cpp:205:21:205:21 | s |
|
||||
| arrays.cpp:6:3:6:8 | access to array |
|
||||
| arrays.cpp:15:3:15:10 | * ... |
|
||||
| arrays.cpp:36:3:36:3 | o |
|
||||
|
||||
@@ -155,38 +155,38 @@ edges
|
||||
| aliasing.cpp:92:12:92:21 | call to user_input | aliasing.cpp:92:3:92:23 | ... = ... |
|
||||
| aliasing.cpp:93:8:93:8 | w [s, m1] | aliasing.cpp:93:10:93:10 | s [m1] |
|
||||
| aliasing.cpp:93:10:93:10 | s [m1] | aliasing.cpp:93:12:93:13 | m1 |
|
||||
| aliasing.cpp:106:4:106:5 | pa [inner post update] | aliasing.cpp:143:17:143:20 | ref arg data |
|
||||
| aliasing.cpp:106:4:106:5 | pa [inner post update] | aliasing.cpp:149:17:149:20 | ref arg data |
|
||||
| aliasing.cpp:106:4:106:5 | pa [inner post update] | aliasing.cpp:160:15:160:22 | ref arg & ... |
|
||||
| aliasing.cpp:106:4:106:5 | pa [inner post update] | aliasing.cpp:172:15:172:22 | ref arg & ... |
|
||||
| aliasing.cpp:106:4:106:5 | pa [inner post update] | aliasing.cpp:185:15:185:24 | ref arg & ... |
|
||||
| aliasing.cpp:106:4:106:5 | pa [inner post update] | aliasing.cpp:158:17:158:20 | ref arg data |
|
||||
| aliasing.cpp:106:4:106:5 | pa [inner post update] | aliasing.cpp:164:17:164:20 | ref arg data |
|
||||
| aliasing.cpp:106:4:106:5 | pa [inner post update] | aliasing.cpp:175:15:175:22 | ref arg & ... |
|
||||
| aliasing.cpp:106:4:106:5 | pa [inner post update] | aliasing.cpp:187:15:187:22 | ref arg & ... |
|
||||
| aliasing.cpp:106:4:106:5 | pa [inner post update] | aliasing.cpp:200:15:200:24 | ref arg & ... |
|
||||
| aliasing.cpp:106:9:106:18 | call to user_input | aliasing.cpp:106:4:106:5 | pa [inner post update] |
|
||||
| aliasing.cpp:143:15:143:15 | s [post update] [data] | aliasing.cpp:144:9:144:9 | s [data] |
|
||||
| aliasing.cpp:143:17:143:20 | ref arg data | aliasing.cpp:143:15:143:15 | s [post update] [data] |
|
||||
| aliasing.cpp:144:9:144:9 | s [data] | aliasing.cpp:144:11:144:14 | data |
|
||||
| aliasing.cpp:144:11:144:14 | data | aliasing.cpp:144:8:144:14 | * ... |
|
||||
| aliasing.cpp:149:15:149:15 | s [post update] [data] | aliasing.cpp:150:8:150:8 | s [data] |
|
||||
| aliasing.cpp:149:17:149:20 | ref arg data | aliasing.cpp:149:15:149:15 | s [post update] [data] |
|
||||
| aliasing.cpp:150:8:150:8 | s [data] | aliasing.cpp:150:10:150:13 | data |
|
||||
| aliasing.cpp:150:10:150:13 | data | aliasing.cpp:150:8:150:16 | access to array |
|
||||
| aliasing.cpp:160:15:160:22 | ref arg & ... | aliasing.cpp:160:21:160:22 | m1 [inner post update] |
|
||||
| aliasing.cpp:160:16:160:17 | s2 [post update] [s, m1] | aliasing.cpp:161:8:161:9 | s2 [s, m1] |
|
||||
| aliasing.cpp:160:19:160:19 | s [post update] [m1] | aliasing.cpp:160:16:160:17 | s2 [post update] [s, m1] |
|
||||
| aliasing.cpp:160:21:160:22 | m1 [inner post update] | aliasing.cpp:160:19:160:19 | s [post update] [m1] |
|
||||
| aliasing.cpp:161:8:161:9 | s2 [s, m1] | aliasing.cpp:161:11:161:11 | s [m1] |
|
||||
| aliasing.cpp:161:11:161:11 | s [m1] | aliasing.cpp:161:13:161:14 | m1 |
|
||||
| aliasing.cpp:172:15:172:22 | ref arg & ... | aliasing.cpp:172:21:172:22 | m1 [inner post update] |
|
||||
| aliasing.cpp:172:16:172:17 | s2 [post update] [s, m1] | aliasing.cpp:174:8:174:11 | s2_2 [s, m1] |
|
||||
| aliasing.cpp:172:19:172:19 | s [post update] [m1] | aliasing.cpp:172:16:172:17 | s2 [post update] [s, m1] |
|
||||
| aliasing.cpp:172:21:172:22 | m1 [inner post update] | aliasing.cpp:172:19:172:19 | s [post update] [m1] |
|
||||
| aliasing.cpp:174:8:174:11 | s2_2 [s, m1] | aliasing.cpp:174:13:174:13 | s [m1] |
|
||||
| aliasing.cpp:174:13:174:13 | s [m1] | aliasing.cpp:174:15:174:16 | m1 |
|
||||
| aliasing.cpp:185:15:185:24 | ref arg & ... | aliasing.cpp:185:23:185:24 | m1 [inner post update] |
|
||||
| aliasing.cpp:185:16:185:18 | ps2 [post update] [s, m1] | aliasing.cpp:186:8:186:10 | ps2 [s, m1] |
|
||||
| aliasing.cpp:185:21:185:21 | s [post update] [m1] | aliasing.cpp:185:16:185:18 | ps2 [post update] [s, m1] |
|
||||
| aliasing.cpp:185:23:185:24 | m1 [inner post update] | aliasing.cpp:185:21:185:21 | s [post update] [m1] |
|
||||
| aliasing.cpp:186:8:186:10 | ps2 [s, m1] | aliasing.cpp:186:13:186:13 | s [m1] |
|
||||
| aliasing.cpp:186:13:186:13 | s [m1] | aliasing.cpp:186:15:186:16 | m1 |
|
||||
| aliasing.cpp:158:15:158:15 | s [post update] [data] | aliasing.cpp:159:9:159:9 | s [data] |
|
||||
| aliasing.cpp:158:17:158:20 | ref arg data | aliasing.cpp:158:15:158:15 | s [post update] [data] |
|
||||
| aliasing.cpp:159:9:159:9 | s [data] | aliasing.cpp:159:11:159:14 | data |
|
||||
| aliasing.cpp:159:11:159:14 | data | aliasing.cpp:159:8:159:14 | * ... |
|
||||
| aliasing.cpp:164:15:164:15 | s [post update] [data] | aliasing.cpp:165:8:165:8 | s [data] |
|
||||
| aliasing.cpp:164:17:164:20 | ref arg data | aliasing.cpp:164:15:164:15 | s [post update] [data] |
|
||||
| aliasing.cpp:165:8:165:8 | s [data] | aliasing.cpp:165:10:165:13 | data |
|
||||
| aliasing.cpp:165:10:165:13 | data | aliasing.cpp:165:8:165:16 | access to array |
|
||||
| aliasing.cpp:175:15:175:22 | ref arg & ... | aliasing.cpp:175:21:175:22 | m1 [inner post update] |
|
||||
| aliasing.cpp:175:16:175:17 | s2 [post update] [s, m1] | aliasing.cpp:176:8:176:9 | s2 [s, m1] |
|
||||
| aliasing.cpp:175:19:175:19 | s [post update] [m1] | aliasing.cpp:175:16:175:17 | s2 [post update] [s, m1] |
|
||||
| aliasing.cpp:175:21:175:22 | m1 [inner post update] | aliasing.cpp:175:19:175:19 | s [post update] [m1] |
|
||||
| aliasing.cpp:176:8:176:9 | s2 [s, m1] | aliasing.cpp:176:11:176:11 | s [m1] |
|
||||
| aliasing.cpp:176:11:176:11 | s [m1] | aliasing.cpp:176:13:176:14 | m1 |
|
||||
| aliasing.cpp:187:15:187:22 | ref arg & ... | aliasing.cpp:187:21:187:22 | m1 [inner post update] |
|
||||
| aliasing.cpp:187:16:187:17 | s2 [post update] [s, m1] | aliasing.cpp:189:8:189:11 | s2_2 [s, m1] |
|
||||
| aliasing.cpp:187:19:187:19 | s [post update] [m1] | aliasing.cpp:187:16:187:17 | s2 [post update] [s, m1] |
|
||||
| aliasing.cpp:187:21:187:22 | m1 [inner post update] | aliasing.cpp:187:19:187:19 | s [post update] [m1] |
|
||||
| aliasing.cpp:189:8:189:11 | s2_2 [s, m1] | aliasing.cpp:189:13:189:13 | s [m1] |
|
||||
| aliasing.cpp:189:13:189:13 | s [m1] | aliasing.cpp:189:15:189:16 | m1 |
|
||||
| aliasing.cpp:200:15:200:24 | ref arg & ... | aliasing.cpp:200:23:200:24 | m1 [inner post update] |
|
||||
| aliasing.cpp:200:16:200:18 | ps2 [post update] [s, m1] | aliasing.cpp:201:8:201:10 | ps2 [s, m1] |
|
||||
| aliasing.cpp:200:21:200:21 | s [post update] [m1] | aliasing.cpp:200:16:200:18 | ps2 [post update] [s, m1] |
|
||||
| aliasing.cpp:200:23:200:24 | m1 [inner post update] | aliasing.cpp:200:21:200:21 | s [post update] [m1] |
|
||||
| aliasing.cpp:201:8:201:10 | ps2 [s, m1] | aliasing.cpp:201:13:201:13 | s [m1] |
|
||||
| aliasing.cpp:201:13:201:13 | s [m1] | aliasing.cpp:201:15:201:16 | m1 |
|
||||
| arrays.cpp:6:12:6:21 | call to user_input | arrays.cpp:7:8:7:13 | access to array |
|
||||
| arrays.cpp:6:12:6:21 | call to user_input | arrays.cpp:8:8:8:13 | access to array |
|
||||
| arrays.cpp:6:12:6:21 | call to user_input | arrays.cpp:9:8:9:11 | * ... |
|
||||
@@ -636,37 +636,37 @@ nodes
|
||||
| aliasing.cpp:93:12:93:13 | m1 | semmle.label | m1 |
|
||||
| aliasing.cpp:106:4:106:5 | pa [inner post update] | semmle.label | pa [inner post update] |
|
||||
| aliasing.cpp:106:9:106:18 | call to user_input | semmle.label | call to user_input |
|
||||
| aliasing.cpp:143:15:143:15 | s [post update] [data] | semmle.label | s [post update] [data] |
|
||||
| aliasing.cpp:143:17:143:20 | ref arg data | semmle.label | ref arg data |
|
||||
| aliasing.cpp:144:8:144:14 | * ... | semmle.label | * ... |
|
||||
| aliasing.cpp:144:9:144:9 | s [data] | semmle.label | s [data] |
|
||||
| aliasing.cpp:144:11:144:14 | data | semmle.label | data |
|
||||
| aliasing.cpp:149:15:149:15 | s [post update] [data] | semmle.label | s [post update] [data] |
|
||||
| aliasing.cpp:149:17:149:20 | ref arg data | semmle.label | ref arg data |
|
||||
| aliasing.cpp:150:8:150:8 | s [data] | semmle.label | s [data] |
|
||||
| aliasing.cpp:150:8:150:16 | access to array | semmle.label | access to array |
|
||||
| aliasing.cpp:150:10:150:13 | data | semmle.label | data |
|
||||
| aliasing.cpp:160:15:160:22 | ref arg & ... | semmle.label | ref arg & ... |
|
||||
| aliasing.cpp:160:16:160:17 | s2 [post update] [s, m1] | semmle.label | s2 [post update] [s, m1] |
|
||||
| aliasing.cpp:160:19:160:19 | s [post update] [m1] | semmle.label | s [post update] [m1] |
|
||||
| aliasing.cpp:160:21:160:22 | m1 [inner post update] | semmle.label | m1 [inner post update] |
|
||||
| aliasing.cpp:161:8:161:9 | s2 [s, m1] | semmle.label | s2 [s, m1] |
|
||||
| aliasing.cpp:161:11:161:11 | s [m1] | semmle.label | s [m1] |
|
||||
| aliasing.cpp:161:13:161:14 | m1 | semmle.label | m1 |
|
||||
| aliasing.cpp:172:15:172:22 | ref arg & ... | semmle.label | ref arg & ... |
|
||||
| aliasing.cpp:172:16:172:17 | s2 [post update] [s, m1] | semmle.label | s2 [post update] [s, m1] |
|
||||
| aliasing.cpp:172:19:172:19 | s [post update] [m1] | semmle.label | s [post update] [m1] |
|
||||
| aliasing.cpp:172:21:172:22 | m1 [inner post update] | semmle.label | m1 [inner post update] |
|
||||
| aliasing.cpp:174:8:174:11 | s2_2 [s, m1] | semmle.label | s2_2 [s, m1] |
|
||||
| aliasing.cpp:174:13:174:13 | s [m1] | semmle.label | s [m1] |
|
||||
| aliasing.cpp:174:15:174:16 | m1 | semmle.label | m1 |
|
||||
| aliasing.cpp:185:15:185:24 | ref arg & ... | semmle.label | ref arg & ... |
|
||||
| aliasing.cpp:185:16:185:18 | ps2 [post update] [s, m1] | semmle.label | ps2 [post update] [s, m1] |
|
||||
| aliasing.cpp:185:21:185:21 | s [post update] [m1] | semmle.label | s [post update] [m1] |
|
||||
| aliasing.cpp:185:23:185:24 | m1 [inner post update] | semmle.label | m1 [inner post update] |
|
||||
| aliasing.cpp:186:8:186:10 | ps2 [s, m1] | semmle.label | ps2 [s, m1] |
|
||||
| aliasing.cpp:186:13:186:13 | s [m1] | semmle.label | s [m1] |
|
||||
| aliasing.cpp:186:15:186:16 | m1 | semmle.label | m1 |
|
||||
| aliasing.cpp:158:15:158:15 | s [post update] [data] | semmle.label | s [post update] [data] |
|
||||
| aliasing.cpp:158:17:158:20 | ref arg data | semmle.label | ref arg data |
|
||||
| aliasing.cpp:159:8:159:14 | * ... | semmle.label | * ... |
|
||||
| aliasing.cpp:159:9:159:9 | s [data] | semmle.label | s [data] |
|
||||
| aliasing.cpp:159:11:159:14 | data | semmle.label | data |
|
||||
| aliasing.cpp:164:15:164:15 | s [post update] [data] | semmle.label | s [post update] [data] |
|
||||
| aliasing.cpp:164:17:164:20 | ref arg data | semmle.label | ref arg data |
|
||||
| aliasing.cpp:165:8:165:8 | s [data] | semmle.label | s [data] |
|
||||
| aliasing.cpp:165:8:165:16 | access to array | semmle.label | access to array |
|
||||
| aliasing.cpp:165:10:165:13 | data | semmle.label | data |
|
||||
| aliasing.cpp:175:15:175:22 | ref arg & ... | semmle.label | ref arg & ... |
|
||||
| aliasing.cpp:175:16:175:17 | s2 [post update] [s, m1] | semmle.label | s2 [post update] [s, m1] |
|
||||
| aliasing.cpp:175:19:175:19 | s [post update] [m1] | semmle.label | s [post update] [m1] |
|
||||
| aliasing.cpp:175:21:175:22 | m1 [inner post update] | semmle.label | m1 [inner post update] |
|
||||
| aliasing.cpp:176:8:176:9 | s2 [s, m1] | semmle.label | s2 [s, m1] |
|
||||
| aliasing.cpp:176:11:176:11 | s [m1] | semmle.label | s [m1] |
|
||||
| aliasing.cpp:176:13:176:14 | m1 | semmle.label | m1 |
|
||||
| aliasing.cpp:187:15:187:22 | ref arg & ... | semmle.label | ref arg & ... |
|
||||
| aliasing.cpp:187:16:187:17 | s2 [post update] [s, m1] | semmle.label | s2 [post update] [s, m1] |
|
||||
| aliasing.cpp:187:19:187:19 | s [post update] [m1] | semmle.label | s [post update] [m1] |
|
||||
| aliasing.cpp:187:21:187:22 | m1 [inner post update] | semmle.label | m1 [inner post update] |
|
||||
| aliasing.cpp:189:8:189:11 | s2_2 [s, m1] | semmle.label | s2_2 [s, m1] |
|
||||
| aliasing.cpp:189:13:189:13 | s [m1] | semmle.label | s [m1] |
|
||||
| aliasing.cpp:189:15:189:16 | m1 | semmle.label | m1 |
|
||||
| aliasing.cpp:200:15:200:24 | ref arg & ... | semmle.label | ref arg & ... |
|
||||
| aliasing.cpp:200:16:200:18 | ps2 [post update] [s, m1] | semmle.label | ps2 [post update] [s, m1] |
|
||||
| aliasing.cpp:200:21:200:21 | s [post update] [m1] | semmle.label | s [post update] [m1] |
|
||||
| aliasing.cpp:200:23:200:24 | m1 [inner post update] | semmle.label | m1 [inner post update] |
|
||||
| aliasing.cpp:201:8:201:10 | ps2 [s, m1] | semmle.label | ps2 [s, m1] |
|
||||
| aliasing.cpp:201:13:201:13 | s [m1] | semmle.label | s [m1] |
|
||||
| aliasing.cpp:201:15:201:16 | m1 | semmle.label | m1 |
|
||||
| arrays.cpp:6:12:6:21 | call to user_input | semmle.label | call to user_input |
|
||||
| arrays.cpp:7:8:7:13 | access to array | semmle.label | access to array |
|
||||
| arrays.cpp:8:8:8:13 | access to array | semmle.label | access to array |
|
||||
@@ -990,11 +990,11 @@ nodes
|
||||
| aliasing.cpp:30:11:30:12 | m1 | aliasing.cpp:13:10:13:19 | call to user_input | aliasing.cpp:30:11:30:12 | m1 | m1 flows from $@ | aliasing.cpp:13:10:13:19 | call to user_input | call to user_input |
|
||||
| aliasing.cpp:62:14:62:15 | m1 | aliasing.cpp:60:11:60:20 | call to user_input | aliasing.cpp:62:14:62:15 | m1 | m1 flows from $@ | aliasing.cpp:60:11:60:20 | call to user_input | call to user_input |
|
||||
| aliasing.cpp:93:12:93:13 | m1 | aliasing.cpp:92:12:92:21 | call to user_input | aliasing.cpp:93:12:93:13 | m1 | m1 flows from $@ | aliasing.cpp:92:12:92:21 | call to user_input | call to user_input |
|
||||
| aliasing.cpp:144:8:144:14 | * ... | aliasing.cpp:106:9:106:18 | call to user_input | aliasing.cpp:144:8:144:14 | * ... | * ... flows from $@ | aliasing.cpp:106:9:106:18 | call to user_input | call to user_input |
|
||||
| aliasing.cpp:150:8:150:16 | access to array | aliasing.cpp:106:9:106:18 | call to user_input | aliasing.cpp:150:8:150:16 | access to array | access to array flows from $@ | aliasing.cpp:106:9:106:18 | call to user_input | call to user_input |
|
||||
| aliasing.cpp:161:13:161:14 | m1 | aliasing.cpp:106:9:106:18 | call to user_input | aliasing.cpp:161:13:161:14 | m1 | m1 flows from $@ | aliasing.cpp:106:9:106:18 | call to user_input | call to user_input |
|
||||
| aliasing.cpp:174:15:174:16 | m1 | aliasing.cpp:106:9:106:18 | call to user_input | aliasing.cpp:174:15:174:16 | m1 | m1 flows from $@ | aliasing.cpp:106:9:106:18 | call to user_input | call to user_input |
|
||||
| aliasing.cpp:186:15:186:16 | m1 | aliasing.cpp:106:9:106:18 | call to user_input | aliasing.cpp:186:15:186:16 | m1 | m1 flows from $@ | aliasing.cpp:106:9:106:18 | call to user_input | call to user_input |
|
||||
| aliasing.cpp:159:8:159:14 | * ... | aliasing.cpp:106:9:106:18 | call to user_input | aliasing.cpp:159:8:159:14 | * ... | * ... flows from $@ | aliasing.cpp:106:9:106:18 | call to user_input | call to user_input |
|
||||
| aliasing.cpp:165:8:165:16 | access to array | aliasing.cpp:106:9:106:18 | call to user_input | aliasing.cpp:165:8:165:16 | access to array | access to array flows from $@ | aliasing.cpp:106:9:106:18 | call to user_input | call to user_input |
|
||||
| aliasing.cpp:176:13:176:14 | m1 | aliasing.cpp:106:9:106:18 | call to user_input | aliasing.cpp:176:13:176:14 | m1 | m1 flows from $@ | aliasing.cpp:106:9:106:18 | call to user_input | call to user_input |
|
||||
| aliasing.cpp:189:15:189:16 | m1 | aliasing.cpp:106:9:106:18 | call to user_input | aliasing.cpp:189:15:189:16 | m1 | m1 flows from $@ | aliasing.cpp:106:9:106:18 | call to user_input | call to user_input |
|
||||
| aliasing.cpp:201:15:201:16 | m1 | aliasing.cpp:106:9:106:18 | call to user_input | aliasing.cpp:201:15:201:16 | m1 | m1 flows from $@ | aliasing.cpp:106:9:106:18 | call to user_input | call to user_input |
|
||||
| arrays.cpp:7:8:7:13 | access to array | arrays.cpp:6:12:6:21 | call to user_input | arrays.cpp:7:8:7:13 | access to array | access to array flows from $@ | arrays.cpp:6:12:6:21 | call to user_input | call to user_input |
|
||||
| arrays.cpp:8:8:8:13 | access to array | arrays.cpp:6:12:6:21 | call to user_input | arrays.cpp:8:8:8:13 | access to array | access to array flows from $@ | arrays.cpp:6:12:6:21 | call to user_input | call to user_input |
|
||||
| arrays.cpp:9:8:9:11 | * ... | arrays.cpp:6:12:6:21 | call to user_input | arrays.cpp:9:8:9:11 | * ... | * ... flows from $@ | arrays.cpp:6:12:6:21 | call to user_input | call to user_input |
|
||||
|
||||
Reference in New Issue
Block a user