mirror of
https://github.com/github/codeql.git
synced 2025-12-15 16:23:11 +01:00
Merge pull request #20929 from owen-mc/go/fix-data-flow-consistency-checks
Go: fix small issues highlighted by data flow consistency checks
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
---
|
||||
category: breaking
|
||||
---
|
||||
* The query `go/unexpected-frontend-error` has been moved from the `codeql/go-queries` query to the `codeql-go-consistency-queries` query pack.
|
||||
* The query `go/unexpected-frontend-error` has been moved from the `codeql/go-queries` query to the `codeql-go-consistency-queries` query pack.
|
||||
|
||||
@@ -1588,4 +1588,9 @@ module IR {
|
||||
* in a field/method access, element access, or slice expression.
|
||||
*/
|
||||
EvalImplicitDerefInstruction implicitDerefInstruction(Expr e) { result = MkImplicitDeref(e) }
|
||||
|
||||
/** Gets the base of `insn`, if `insn` is an implicit field read. */
|
||||
Instruction lookThroughImplicitFieldRead(Instruction insn) {
|
||||
result = insn.(ImplicitFieldReadInstruction).getBaseInstruction()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -838,7 +838,11 @@ module Public {
|
||||
exists(IR::MethodReadInstruction mri |
|
||||
ce.getTarget() instanceof Method and
|
||||
mri = IR::evalExprInstruction(ce.getCalleeExpr()) and
|
||||
insn = mri.getReceiver()
|
||||
// If a.x is reading a promoted field, and it's equivalent to a.b.c.x,
|
||||
// then mri.getReceiver() will give us the implicit field read a.b.c
|
||||
// and we want to have post-update nodes for a, the implicit field
|
||||
// read a.b and the implicit field read a.b.c.
|
||||
insn = IR::lookThroughImplicitFieldRead*(mri.getReceiver())
|
||||
)
|
||||
) and
|
||||
mutableType(insn.getResultType())
|
||||
|
||||
@@ -89,7 +89,8 @@ predicate basicLocalFlowStep(Node nodeFrom, Node nodeTo) {
|
||||
nodeFrom = instructionNode(pred) or
|
||||
nodeFrom.(PostUpdateNode).getPreUpdateNode() = instructionNode(pred)
|
||||
) and
|
||||
nodeTo = instructionNode(succ)
|
||||
nodeTo = instructionNode(succ) and
|
||||
nodeTo != nodeFrom
|
||||
)
|
||||
or
|
||||
// GlobalFunctionNode -> use
|
||||
|
||||
@@ -397,17 +397,13 @@ module SourceSinkInterpretationInput implements
|
||||
}
|
||||
|
||||
private DataFlow::Node skipImplicitFieldReads(DataFlow::Node n) {
|
||||
not exists(lookThroughImplicitFieldRead(n)) and result = n
|
||||
not exists(IR::lookThroughImplicitFieldRead(n.asInstruction())) and result = n
|
||||
or
|
||||
result = skipImplicitFieldReads(lookThroughImplicitFieldRead(n))
|
||||
}
|
||||
|
||||
private DataFlow::Node lookThroughImplicitFieldRead(DataFlow::Node n) {
|
||||
result.asInstruction() =
|
||||
n.(DataFlow::InstructionNode)
|
||||
.asInstruction()
|
||||
.(IR::ImplicitFieldReadInstruction)
|
||||
.getBaseInstruction()
|
||||
exists(DataFlow::Node mid |
|
||||
mid.asInstruction() = IR::lookThroughImplicitFieldRead(n.asInstruction())
|
||||
|
|
||||
result = skipImplicitFieldReads(mid)
|
||||
)
|
||||
}
|
||||
|
||||
/** Provides additional sink specification logic. */
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
identityLocalStep
|
||||
| main.go:46:18:46:18 | n | Node steps to itself |
|
||||
| main.go:47:3:47:3 | c | Node steps to itself |
|
||||
@@ -1,4 +0,0 @@
|
||||
identityLocalStep
|
||||
| DatabaseCallInLoop.go:9:3:9:4 | db | Node steps to itself |
|
||||
| test.go:21:12:21:13 | db | Node steps to itself |
|
||||
| test.go:25:15:25:16 | db | Node steps to itself |
|
||||
@@ -34,25 +34,3 @@ reverseRead
|
||||
| test.go:92:19:92:25 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test.go:93:5:93:11 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test.go:94:9:94:15 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
identityLocalStep
|
||||
| test.go:114:37:114:38 | rc | Node steps to itself |
|
||||
| test.go:198:27:198:29 | out | Node steps to itself |
|
||||
| test.go:224:27:224:29 | out | Node steps to itself |
|
||||
| test.go:249:27:249:29 | out | Node steps to itself |
|
||||
| test.go:274:27:274:29 | out | Node steps to itself |
|
||||
| test.go:299:27:299:29 | out | Node steps to itself |
|
||||
| test.go:324:26:324:28 | out | Node steps to itself |
|
||||
| test.go:349:26:349:28 | out | Node steps to itself |
|
||||
| test.go:375:28:375:30 | out | Node steps to itself |
|
||||
| test.go:403:28:403:30 | out | Node steps to itself |
|
||||
| test.go:431:24:431:26 | out | Node steps to itself |
|
||||
| test.go:463:26:463:28 | out | Node steps to itself |
|
||||
| test.go:490:26:490:28 | out | Node steps to itself |
|
||||
| test.go:517:27:517:29 | out | Node steps to itself |
|
||||
| test.go:546:26:546:28 | out | Node steps to itself |
|
||||
| test.go:571:26:571:28 | out | Node steps to itself |
|
||||
| test.go:601:24:601:26 | out | Node steps to itself |
|
||||
| test.go:614:15:614:21 | tarRead | Node steps to itself |
|
||||
| test.go:622:3:622:7 | files | Node steps to itself |
|
||||
| test.go:637:10:637:16 | tarRead | Node steps to itself |
|
||||
| test.go:647:10:647:16 | tarRead | Node steps to itself |
|
||||
|
||||
@@ -13,6 +13,3 @@ reverseRead
|
||||
| CorsMisconfiguration.go:170:14:170:16 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| CorsMisconfiguration.go:194:17:194:19 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| CorsMisconfiguration.go:206:14:206:16 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
identityLocalStep
|
||||
| CorsMisconfiguration.go:208:13:208:18 | origin | Node steps to itself |
|
||||
| CorsMisconfiguration.go:235:6:235:8 | try | Node steps to itself |
|
||||
|
||||
@@ -1,11 +1,5 @@
|
||||
reverseRead
|
||||
| pkg1/embedding.go:56:29:56:39 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| pkg1/embedding.go:57:33:57:46 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| pkg1/embedding.go:58:14:58:22 | implicit read of field embedder | Origin of readStep is missing a PostUpdateNode. |
|
||||
| pkg1/embedding.go:58:31:58:42 | implicit read of field embedder | Origin of readStep is missing a PostUpdateNode. |
|
||||
| pkg1/tst.go:43:6:43:6 | t | Origin of readStep is missing a PostUpdateNode. |
|
||||
| pkg1/tst.go:46:6:46:6 | t | Origin of readStep is missing a PostUpdateNode. |
|
||||
| pkg1/tst.go:50:2:50:2 | t | Origin of readStep is missing a PostUpdateNode. |
|
||||
| pkg1/tst.go:53:6:53:7 | t2 | Origin of readStep is missing a PostUpdateNode. |
|
||||
| pkg1/tst.go:55:6:55:7 | t2 | Origin of readStep is missing a PostUpdateNode. |
|
||||
| promoted.go:18:6:18:6 | t | Origin of readStep is missing a PostUpdateNode. |
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
reverseRead
|
||||
| test_methods.go:44:7:44:7 | t | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_methods.go:45:7:45:7 | t | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_methods.go:46:2:46:2 | t | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_methods.go:50:7:50:7 | t | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_methods.go:51:7:51:7 | t | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_methods.go:52:2:52:2 | t | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_methods.go:92:7:92:7 | t | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_methods.go:93:7:93:7 | t | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_methods.go:94:2:94:2 | t | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_methods.go:98:7:98:7 | t | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_methods.go:99:7:99:7 | t | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_methods.go:100:2:100:2 | t | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_methods.go:104:7:104:7 | t | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_methods.go:105:7:105:7 | t | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_methods.go:106:2:106:2 | t | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_methods.go:110:7:110:7 | t | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_methods.go:111:7:111:7 | t | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_methods.go:112:2:112:2 | t | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_methods.go:140:7:140:7 | implicit read of field SEmbedI1 | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_methods.go:141:7:141:7 | implicit read of field SEmbedI1 | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_methods.go:142:2:142:2 | implicit read of field SEmbedI1 | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_methods.go:146:7:146:7 | implicit read of field SEmbedS1 | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_methods.go:147:7:147:7 | implicit read of field SEmbedS1 | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_methods.go:148:2:148:2 | implicit read of field SEmbedS1 | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_methods.go:152:7:152:7 | implicit read of field SEmbedPtrS1 | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_methods.go:153:7:153:7 | implicit read of field SEmbedPtrS1 | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_methods.go:154:2:154:2 | implicit read of field SEmbedPtrS1 | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_methods.go:158:7:158:7 | implicit read of field SEmbedS1 | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_methods.go:159:7:159:7 | implicit read of field SEmbedS1 | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_methods.go:160:2:160:2 | implicit read of field SEmbedS1 | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_methods.go:164:7:164:7 | implicit read of field SEmbedPtrS1 | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_methods.go:165:7:165:7 | implicit read of field SEmbedPtrS1 | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_methods.go:166:2:166:2 | implicit read of field SEmbedPtrS1 | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_methods.go:170:7:170:7 | t | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_methods.go:171:7:171:7 | t | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_methods.go:172:2:172:2 | t | Origin of readStep is missing a PostUpdateNode. |
|
||||
@@ -2,14 +2,3 @@ reverseRead
|
||||
| test.go:90:10:90:15 | taint8 | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test.go:104:12:104:18 | taint10 | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test.go:150:10:150:14 | slice | Origin of readStep is missing a PostUpdateNode. |
|
||||
identityLocalStep
|
||||
| test.go:92:3:92:3 | b | Node steps to itself |
|
||||
| test.go:95:3:95:3 | b | Node steps to itself |
|
||||
| test.go:106:3:106:3 | b | Node steps to itself |
|
||||
| test.go:109:3:109:3 | b | Node steps to itself |
|
||||
| test.go:119:3:119:3 | b | Node steps to itself |
|
||||
| test.go:122:3:122:3 | b | Node steps to itself |
|
||||
| test.go:125:3:125:3 | b | Node steps to itself |
|
||||
| test.go:128:3:128:3 | b | Node steps to itself |
|
||||
| test.go:138:3:138:3 | b | Node steps to itself |
|
||||
| test.go:141:3:141:3 | b | Node steps to itself |
|
||||
|
||||
@@ -2,14 +2,3 @@ reverseRead
|
||||
| test.go:90:10:90:15 | taint8 | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test.go:104:12:104:18 | taint10 | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test.go:150:10:150:14 | slice | Origin of readStep is missing a PostUpdateNode. |
|
||||
identityLocalStep
|
||||
| test.go:92:3:92:3 | b | Node steps to itself |
|
||||
| test.go:95:3:95:3 | b | Node steps to itself |
|
||||
| test.go:106:3:106:3 | b | Node steps to itself |
|
||||
| test.go:109:3:109:3 | b | Node steps to itself |
|
||||
| test.go:119:3:119:3 | b | Node steps to itself |
|
||||
| test.go:122:3:122:3 | b | Node steps to itself |
|
||||
| test.go:125:3:125:3 | b | Node steps to itself |
|
||||
| test.go:128:3:128:3 | b | Node steps to itself |
|
||||
| test.go:138:3:138:3 | b | Node steps to itself |
|
||||
| test.go:141:3:141:3 | b | Node steps to itself |
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
reverseRead
|
||||
| methods.go:48:2:48:6 | base1 | Origin of readStep is missing a PostUpdateNode. |
|
||||
| methods.go:58:2:58:7 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| methods.go:67:2:67:6 | base2 | Origin of readStep is missing a PostUpdateNode. |
|
||||
| methods.go:68:2:68:6 | base2 | Origin of readStep is missing a PostUpdateNode. |
|
||||
| methods.go:77:2:77:7 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| methods.go:78:2:78:7 | base2p | Origin of readStep is missing a PostUpdateNode. |
|
||||
@@ -1,28 +0,0 @@
|
||||
reverseRead
|
||||
| test_couchbase_gocb_v2.go:151:2:151:10 | call to Next | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_couchbase_gocb_v2.go:161:2:161:3 | r7 | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_jmoiron_sqlx.go:66:6:66:9 | rows | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_jmoiron_sqlx.go:69:9:69:12 | rows | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_jmoiron_sqlx.go:80:18:80:19 | db | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_jmoiron_sqlx.go:89:8:89:11 | rows | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_jmoiron_sqlx.go:91:6:91:9 | rows | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_jmoiron_sqlx.go:94:9:94:12 | rows | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_jmoiron_sqlx.go:151:8:151:11 | rows | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_jmoiron_sqlx.go:153:6:153:9 | rows | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_jmoiron_sqlx.go:156:9:156:12 | rows | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_jmoiron_sqlx.go:198:18:198:21 | stmt | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_jmoiron_sqlx.go:207:8:207:11 | rows | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_jmoiron_sqlx.go:209:6:209:9 | rows | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_jmoiron_sqlx.go:212:9:212:12 | rows | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_jmoiron_sqlx.go:254:18:254:19 | tx | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_jmoiron_sqlx.go:263:8:263:11 | rows | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_jmoiron_sqlx.go:265:6:265:9 | rows | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test_jmoiron_sqlx.go:268:9:268:12 | rows | Origin of readStep is missing a PostUpdateNode. |
|
||||
identityLocalStep
|
||||
| test_couchbase_gocb_v1.go:20:6:20:7 | r1 | Node steps to itself |
|
||||
| test_couchbase_gocb_v1.go:40:6:40:7 | r2 | Node steps to itself |
|
||||
| test_mongo_driver_mongo.go:80:24:80:26 | ctx | Node steps to itself |
|
||||
| test_mongo_driver_mongo.go:103:24:103:26 | ctx | Node steps to itself |
|
||||
| test_mongo_driver_mongo.go:116:24:116:26 | ctx | Node steps to itself |
|
||||
| test_uptrace_bun.go:27:3:27:4 | db | Node steps to itself |
|
||||
| test_uptrace_bun.go:27:14:27:16 | ctx | Node steps to itself |
|
||||
@@ -14,6 +14,3 @@ reverseRead
|
||||
| test.go:318:20:318:22 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test.go:324:17:324:19 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| test.go:324:17:324:25 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
identityLocalStep
|
||||
| test.go:278:3:278:14 | genericFiles | Node steps to itself |
|
||||
| test.go:278:21:278:25 | files | Node steps to itself |
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
reverseRead
|
||||
| main.go:19:2:19:4 | ctx | Origin of readStep is missing a PostUpdateNode. |
|
||||
@@ -1,42 +1,29 @@
|
||||
reverseRead
|
||||
| EndToEnd.go:30:9:30:9 | c | Origin of readStep is missing a PostUpdateNode. |
|
||||
| EndToEnd.go:30:35:30:35 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| EndToEnd.go:30:35:30:42 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| EndToEnd.go:36:18:36:18 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| EndToEnd.go:36:18:36:25 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| EndToEnd.go:37:9:37:9 | c | Origin of readStep is missing a PostUpdateNode. |
|
||||
| EndToEnd.go:44:18:44:18 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| EndToEnd.go:44:18:44:25 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| EndToEnd.go:45:9:45:9 | c | Origin of readStep is missing a PostUpdateNode. |
|
||||
| EndToEnd.go:51:20:51:20 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| EndToEnd.go:51:20:51:27 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| EndToEnd.go:52:9:52:9 | c | Origin of readStep is missing a PostUpdateNode. |
|
||||
| EndToEnd.go:58:18:58:18 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| EndToEnd.go:58:18:58:25 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| EndToEnd.go:59:9:59:9 | c | Origin of readStep is missing a PostUpdateNode. |
|
||||
| EndToEnd.go:64:9:64:9 | c | Origin of readStep is missing a PostUpdateNode. |
|
||||
| EndToEnd.go:64:26:64:26 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| EndToEnd.go:64:26:64:33 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| EndToEnd.go:69:9:69:9 | c | Origin of readStep is missing a PostUpdateNode. |
|
||||
| EndToEnd.go:69:22:69:22 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| EndToEnd.go:69:22:69:29 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| EndToEnd.go:74:9:74:9 | c | Origin of readStep is missing a PostUpdateNode. |
|
||||
| EndToEnd.go:74:22:74:22 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| EndToEnd.go:74:22:74:29 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| EndToEnd.go:79:9:79:9 | c | Origin of readStep is missing a PostUpdateNode. |
|
||||
| EndToEnd.go:79:35:79:35 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| EndToEnd.go:79:35:79:42 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| EndToEnd.go:84:9:84:9 | c | Origin of readStep is missing a PostUpdateNode. |
|
||||
| EndToEnd.go:84:22:84:22 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| EndToEnd.go:84:22:84:29 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| EndToEnd.go:89:9:89:9 | c | Origin of readStep is missing a PostUpdateNode. |
|
||||
| EndToEnd.go:89:21:89:21 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| EndToEnd.go:89:21:89:28 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| EndToEnd.go:94:9:94:9 | c | Origin of readStep is missing a PostUpdateNode. |
|
||||
| EndToEnd.go:94:20:94:20 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| EndToEnd.go:94:20:94:27 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| Revel.go:26:7:26:7 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| Revel.go:26:7:26:14 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| Revel.go:27:7:27:7 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| Revel.go:27:7:27:14 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| Revel.go:30:2:30:2 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
@@ -55,7 +42,6 @@ reverseRead
|
||||
| Revel.go:60:7:60:14 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| Revel.go:63:2:63:2 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| Revel.go:70:22:70:22 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| Revel.go:71:2:71:2 | c | Origin of readStep is missing a PostUpdateNode. |
|
||||
| Revel.go:75:7:75:7 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| Revel.go:76:7:76:7 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| Revel.go:77:7:77:7 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
@@ -87,64 +73,34 @@ reverseRead
|
||||
| Revel.go:128:14:128:22 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| Revel.go:133:13:133:13 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/app.go:34:2:34:2 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/app.go:45:10:45:10 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/app.go:47:2:47:2 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/app.go:48:9:48:9 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/app.go:52:9:52:9 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/app.go:56:2:56:2 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/app.go:57:2:57:2 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/app.go:59:16:59:16 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/app.go:61:5:61:5 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/app.go:62:3:62:3 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/app.go:63:3:63:3 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/app.go:64:10:64:10 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/app.go:68:2:68:2 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/app.go:69:9:69:9 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/app.go:79:5:79:5 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/app.go:81:5:81:5 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/app.go:83:4:83:4 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/app.go:84:11:84:11 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/app.go:89:2:89:2 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/app.go:90:9:90:9 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/app.go:95:10:95:10 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/app.go:97:9:97:9 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:43:13:43:13 | c | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:44:3:44:3 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:45:10:45:10 | c | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:51:2:51:2 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:54:9:54:9 | c | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:107:9:107:9 | c | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:118:9:118:9 | c | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:132:10:132:10 | c | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:135:9:135:9 | c | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:139:9:139:9 | c | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:143:26:143:26 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:144:2:144:2 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:146:2:146:2 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:148:5:148:5 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:149:3:149:3 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:150:10:150:10 | c | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:153:2:153:2 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:154:9:154:9 | c | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:160:10:160:10 | c | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:165:17:165:17 | c | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:166:19:166:19 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:168:5:168:5 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:168:33:168:33 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:168:33:168:40 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:169:3:169:3 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:170:3:170:3 | c | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:171:10:171:10 | c | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:174:5:174:5 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:174:5:174:12 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:175:3:175:3 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:176:4:176:10 | booking | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:177:10:177:10 | c | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:180:9:180:9 | c | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:184:2:184:2 | implicit read of field Controller | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:185:9:185:9 | c | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:191:10:191:10 | c | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/controllers/hotels.go:195:9:195:9 | c | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/init.go:36:44:36:44 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/init.go:40:49:40:49 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/init.go:52:2:52:2 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
@@ -169,5 +125,3 @@ reverseRead
|
||||
| examples/booking/app/models/booking.go:82:14:82:14 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/models/booking.go:83:17:83:17 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| examples/booking/app/models/booking.go:84:18:84:18 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
identityLocalStep
|
||||
| examples/booking/app/controllers/app.go:95:10:95:10 | c | Node steps to itself |
|
||||
|
||||
@@ -95,9 +95,3 @@ reverseRead
|
||||
| rpc/notes/service.twirp.go:1278:11:1278:14 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| rpc/notes/service.twirp.go:1292:23:1292:26 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| server/main.go:33:19:33:19 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
identityLocalStep
|
||||
| rpc/notes/service.twirp.go:60:6:60:15 | clientOpts | Node steps to itself |
|
||||
| rpc/notes/service.twirp.go:199:6:199:15 | clientOpts | Node steps to itself |
|
||||
| rpc/notes/service.twirp.go:852:6:852:15 | serverOpts | Node steps to itself |
|
||||
| rpc/notes/service.twirp.go:854:29:854:38 | serverOpts | Node steps to itself |
|
||||
| rpc/notes/service.twirp.go:965:4:965:9 | copied | Node steps to itself |
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
identityLocalStep
|
||||
| InconsistentLoopOrientation.go:6:3:6:3 | a | Node steps to itself |
|
||||
| InconsistentLoopOrientationGood.go:6:3:6:3 | a | Node steps to itself |
|
||||
| main.go:9:26:9:26 | s | Node steps to itself |
|
||||
| main.go:14:29:14:29 | l | Node steps to itself |
|
||||
| main.go:20:3:20:3 | a | Node steps to itself |
|
||||
@@ -1,3 +0,0 @@
|
||||
identityLocalStep
|
||||
| LengthComparisonOffByOne.go:10:19:10:28 | searchName | Node steps to itself |
|
||||
| LengthComparisonOffByOneGood.go:9:14:9:23 | searchName | Node steps to itself |
|
||||
@@ -1,4 +1,2 @@
|
||||
reverseRead
|
||||
| testdata.go:206:7:206:7 | x | Origin of readStep is missing a PostUpdateNode. |
|
||||
identityLocalStep
|
||||
| testdata.go:583:7:583:7 | x | Node steps to itself |
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
identityLocalStep
|
||||
| main.go:35:6:35:9 | cond | Node steps to itself |
|
||||
| main.go:44:6:44:9 | cond | Node steps to itself |
|
||||
@@ -1,22 +1,3 @@
|
||||
reverseRead
|
||||
| TaintedPath.go:15:18:15:18 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| TaintedPath.go:84:28:84:32 | files | Origin of readStep is missing a PostUpdateNode. |
|
||||
identityLocalStep
|
||||
| UnsafeUnzipSymlink.go:26:18:26:18 | r | Node steps to itself |
|
||||
| UnsafeUnzipSymlink.go:30:29:30:34 | target | Node steps to itself |
|
||||
| UnsafeUnzipSymlink.go:42:22:42:27 | target | Node steps to itself |
|
||||
| UnsafeUnzipSymlink.go:58:18:58:18 | r | Node steps to itself |
|
||||
| UnsafeUnzipSymlink.go:62:3:62:7 | links | Node steps to itself |
|
||||
| UnsafeUnzipSymlink.go:79:18:79:18 | r | Node steps to itself |
|
||||
| UnsafeUnzipSymlink.go:85:29:85:34 | target | Node steps to itself |
|
||||
| UnsafeUnzipSymlink.go:94:18:94:18 | r | Node steps to itself |
|
||||
| UnsafeUnzipSymlink.go:98:29:98:34 | target | Node steps to itself |
|
||||
| UnsafeUnzipSymlink.go:121:32:121:32 | r | Node steps to itself |
|
||||
| UnsafeUnzipSymlink.go:125:29:125:34 | target | Node steps to itself |
|
||||
| UnsafeUnzipSymlink.go:146:32:146:32 | r | Node steps to itself |
|
||||
| UnsafeUnzipSymlink.go:150:29:150:34 | target | Node steps to itself |
|
||||
| UnsafeUnzipSymlinkGood.go:30:18:30:18 | r | Node steps to itself |
|
||||
| UnsafeUnzipSymlinkGood.go:34:33:34:38 | target | Node steps to itself |
|
||||
| UnsafeUnzipSymlinkGood.go:46:26:46:31 | target | Node steps to itself |
|
||||
| UnsafeUnzipSymlinkGood.go:72:18:72:18 | r | Node steps to itself |
|
||||
| UnsafeUnzipSymlinkGood.go:76:41:76:46 | target | Node steps to itself |
|
||||
|
||||
@@ -19,8 +19,3 @@ reverseRead
|
||||
| tst.go:48:14:48:14 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| tst.go:66:15:66:15 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| websocketXss.go:26:9:26:9 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
identityLocalStep
|
||||
| StoredXss.go:13:18:13:18 | w | Node steps to itself |
|
||||
| StoredXssGood.go:17:3:17:10 | template | Node steps to itself |
|
||||
| stored.go:30:19:30:19 | w | Node steps to itself |
|
||||
| stored.go:51:20:51:20 | w | Node steps to itself |
|
||||
|
||||
@@ -29,6 +29,3 @@ reverseRead
|
||||
| server1.go:14:11:14:14 | vals | Origin of readStep is missing a PostUpdateNode. |
|
||||
| server1.go:17:41:17:41 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| server1.go:21:46:21:46 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
identityLocalStep
|
||||
| klog.go:24:20:24:23 | name | Node steps to itself |
|
||||
| server1.go:29:3:29:3 | s | Node steps to itself |
|
||||
|
||||
@@ -2,5 +2,3 @@ reverseRead
|
||||
| UnsafeTLS.go:329:32:329:37 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| UnsafeTLS.go:336:33:336:38 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| UnsafeTLS.go:353:40:353:45 | suites | Origin of readStep is missing a PostUpdateNode. |
|
||||
identityLocalStep
|
||||
| UnsafeTLS.go:353:40:353:45 | suites | Node steps to itself |
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
identityLocalStep
|
||||
| InsecureRandomness.go:12:3:12:3 | s | Node steps to itself |
|
||||
| InsecureRandomnessGood.go:15:3:15:3 | s | Node steps to itself |
|
||||
@@ -4,14 +4,3 @@ reverseRead
|
||||
| UncontrolledAllocationSizeGood.go:32:12:32:12 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| UncontrolledAllocationSizeGood.go:52:12:52:12 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
| UncontrolledAllocationSizeGood.go:73:12:73:12 | implicit dereference | Origin of readStep is missing a PostUpdateNode. |
|
||||
identityLocalStep
|
||||
| UncontrolledAllocationSizeBad.go:21:18:21:21 | sink | Node steps to itself |
|
||||
| UncontrolledAllocationSizeBad.go:22:3:22:8 | result | Node steps to itself |
|
||||
| UncontrolledAllocationSizeGood.go:23:18:23:21 | sink | Node steps to itself |
|
||||
| UncontrolledAllocationSizeGood.go:24:3:24:8 | result | Node steps to itself |
|
||||
| UncontrolledAllocationSizeGood.go:42:19:42:22 | sink | Node steps to itself |
|
||||
| UncontrolledAllocationSizeGood.go:43:4:43:9 | result | Node steps to itself |
|
||||
| UncontrolledAllocationSizeGood.go:63:19:63:22 | sink | Node steps to itself |
|
||||
| UncontrolledAllocationSizeGood.go:64:4:64:9 | result | Node steps to itself |
|
||||
| UncontrolledAllocationSizeGood.go:88:18:88:21 | sink | Node steps to itself |
|
||||
| UncontrolledAllocationSizeGood.go:89:3:89:8 | result | Node steps to itself |
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
identityLocalStep
|
||||
| HardcodedKeysGood.go:20:3:20:5 | ret | Node steps to itself |
|
||||
| sanitizer.go:26:3:26:7 | bytes | Node steps to itself |
|
||||
| sanitizer.go:39:3:39:5 | ret | Node steps to itself |
|
||||
| sanitizer.go:49:3:49:7 | bytes | Node steps to itself |
|
||||
| sanitizer.go:70:12:70:17 | length | Node steps to itself |
|
||||
| sanitizer.go:71:27:71:33 | sources | Node steps to itself |
|
||||
| sanitizer.go:71:35:71:35 | r | Node steps to itself |
|
||||
| sanitizer.go:71:42:71:53 | sourceLength | Node steps to itself |
|
||||
Reference in New Issue
Block a user