mirror of
https://github.com/github/codeql.git
synced 2026-04-30 11:15:13 +02:00
C#: Filter using var _ = ... results from DeadStoreOfLocal.ql
This commit is contained in:
@@ -72,7 +72,12 @@ predicate mayEscape(LocalVariable v) {
|
||||
|
||||
class RelevantDefinition extends AssignableDefinition {
|
||||
RelevantDefinition() {
|
||||
this instanceof AssignableDefinitions::AssignmentDefinition
|
||||
this.(AssignableDefinitions::AssignmentDefinition).getAssignment() =
|
||||
any(Assignment a |
|
||||
if a = any(UsingStmt us).getAVariableDeclExpr()
|
||||
then not a.getTargetVariable().hasName("_")
|
||||
else any()
|
||||
)
|
||||
or
|
||||
this instanceof AssignableDefinitions::MutationDefinition
|
||||
or
|
||||
|
||||
@@ -460,4 +460,10 @@ public static class AnonymousVariable
|
||||
count++;
|
||||
return count;
|
||||
}
|
||||
|
||||
public static void Using()
|
||||
{
|
||||
using var x = new System.IO.FileStream("", System.IO.FileMode.Open); // BAD
|
||||
using var _ = new System.IO.FileStream("", System.IO.FileMode.Open); // GOOD
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
| DeadStoreOfLocal.cs:331:9:331:32 | ... = ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:327:23:327:23 | b | b |
|
||||
| DeadStoreOfLocal.cs:372:13:372:20 | String s = ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:372:13:372:13 | s | s |
|
||||
| DeadStoreOfLocal.cs:398:13:398:21 | ... = ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:396:13:396:13 | s | s |
|
||||
| DeadStoreOfLocal.cs:466:19:466:75 | FileStream x = ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:466:19:466:19 | x | x |
|
||||
| DeadStoreOfLocalBad.cs:7:13:7:48 | Boolean success = ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocalBad.cs:7:13:7:19 | success | success |
|
||||
| DeadStoreOfLocalBad.cs:23:32:23:32 | FormatException e | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocalBad.cs:23:32:23:32 | e | e |
|
||||
| DeadStoreOfLocalBad.cs:32:22:32:22 | String s | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocalBad.cs:32:22:32:22 | s | s |
|
||||
|
||||
Reference in New Issue
Block a user