mirror of
https://github.com/github/codeql.git
synced 2026-04-19 14:04:09 +02:00
C#: Add is not null guards test
This commit is contained in:
@@ -370,6 +370,7 @@ abstractValue
|
||||
| non-null | Guards.cs:341:31:341:32 | "" |
|
||||
| non-null | Guards.cs:343:13:343:19 | access to type Console |
|
||||
| non-null | Guards.cs:343:31:343:31 | access to local variable s |
|
||||
| non-null | Guards.cs:349:13:349:13 | access to parameter o |
|
||||
| non-null | Splitting.cs:13:17:13:17 | access to parameter o |
|
||||
| non-null | Splitting.cs:23:24:23:24 | access to parameter o |
|
||||
| non-null | Splitting.cs:33:24:33:25 | "" |
|
||||
|
||||
@@ -103,6 +103,7 @@
|
||||
| Guards.cs:342:27:342:27 | access to parameter b | Guards.cs:341:20:341:20 | access to parameter b | Guards.cs:341:20:341:20 | access to parameter b | false |
|
||||
| Guards.cs:343:31:343:31 | access to local variable s | Guards.cs:342:13:342:21 | ... != ... | Guards.cs:342:13:342:13 | access to local variable s | true |
|
||||
| Guards.cs:343:31:343:31 | access to local variable s | Guards.cs:342:13:342:27 | ... && ... | Guards.cs:342:13:342:13 | access to local variable s | true |
|
||||
| Guards.cs:349:13:349:13 | access to parameter o | Guards.cs:348:13:348:25 | ... is ... | Guards.cs:348:13:348:13 | access to parameter o | true |
|
||||
| Splitting.cs:13:17:13:17 | access to parameter o | Splitting.cs:12:17:12:25 | ... != ... | Splitting.cs:12:17:12:17 | access to parameter o | true |
|
||||
| Splitting.cs:23:24:23:24 | access to parameter o | Splitting.cs:22:17:22:25 | ... != ... | Splitting.cs:22:17:22:17 | access to parameter o | true |
|
||||
| Splitting.cs:25:13:25:13 | access to parameter o | Splitting.cs:22:17:22:25 | ... != ... | Splitting.cs:22:17:22:17 | access to parameter o | false |
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
// semmle-extractor-options: --cil /langversion:8.0
|
||||
// semmle-extractor-options: --cil
|
||||
#nullable enable
|
||||
|
||||
@@ -242,6 +242,8 @@
|
||||
| Guards.cs:343:31:343:31 | access to local variable s | Guards.cs:342:13:342:13 | access to local variable s | Guards.cs:342:13:342:13 | access to local variable s | non-null |
|
||||
| Guards.cs:343:31:343:31 | access to local variable s | Guards.cs:342:13:342:21 | ... != ... | Guards.cs:342:13:342:13 | access to local variable s | true |
|
||||
| Guards.cs:343:31:343:31 | access to local variable s | Guards.cs:342:13:342:27 | ... && ... | Guards.cs:342:13:342:13 | access to local variable s | true |
|
||||
| Guards.cs:349:13:349:13 | access to parameter o | Guards.cs:348:13:348:13 | access to parameter o | Guards.cs:348:13:348:13 | access to parameter o | non-null |
|
||||
| Guards.cs:349:13:349:13 | access to parameter o | Guards.cs:348:13:348:25 | ... is ... | Guards.cs:348:13:348:13 | access to parameter o | true |
|
||||
| Splitting.cs:13:17:13:17 | [b (line 9): true] access to parameter o | Splitting.cs:12:17:12:17 | access to parameter o | Splitting.cs:12:17:12:17 | access to parameter o | non-null |
|
||||
| Splitting.cs:13:17:13:17 | [b (line 9): true] access to parameter o | Splitting.cs:12:17:12:25 | ... != ... | Splitting.cs:12:17:12:17 | access to parameter o | true |
|
||||
| Splitting.cs:14:13:14:13 | [b (line 9): false] access to parameter b | Splitting.cs:11:13:11:13 | access to parameter b | Splitting.cs:11:13:11:13 | access to parameter b | false |
|
||||
|
||||
@@ -223,6 +223,8 @@
|
||||
| Guards.cs:343:31:343:31 | access to local variable s | Guards.cs:342:13:342:13 | access to local variable s | Guards.cs:342:13:342:13 | access to local variable s | non-null |
|
||||
| Guards.cs:343:31:343:31 | access to local variable s | Guards.cs:342:13:342:21 | ... != ... | Guards.cs:342:13:342:13 | access to local variable s | true |
|
||||
| Guards.cs:343:31:343:31 | access to local variable s | Guards.cs:342:13:342:27 | ... && ... | Guards.cs:342:13:342:13 | access to local variable s | true |
|
||||
| Guards.cs:349:13:349:13 | access to parameter o | Guards.cs:348:13:348:13 | access to parameter o | Guards.cs:348:13:348:13 | access to parameter o | non-null |
|
||||
| Guards.cs:349:13:349:13 | access to parameter o | Guards.cs:348:13:348:25 | ... is ... | Guards.cs:348:13:348:13 | access to parameter o | true |
|
||||
| Splitting.cs:13:17:13:17 | access to parameter o | Splitting.cs:12:17:12:17 | access to parameter o | Splitting.cs:12:17:12:17 | access to parameter o | non-null |
|
||||
| Splitting.cs:13:17:13:17 | access to parameter o | Splitting.cs:12:17:12:25 | ... != ... | Splitting.cs:12:17:12:17 | access to parameter o | true |
|
||||
| Splitting.cs:23:24:23:24 | access to parameter o | Splitting.cs:22:17:22:17 | access to parameter o | Splitting.cs:22:17:22:17 | access to parameter o | non-null |
|
||||
|
||||
@@ -342,5 +342,11 @@ public class Guards
|
||||
if (s != null && !b)
|
||||
Console.WriteLine(s.Length); // null guarded
|
||||
}
|
||||
|
||||
void M29(object? o)
|
||||
{
|
||||
if (o is not null)
|
||||
o.ToString(); // null guarded
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -442,6 +442,7 @@
|
||||
| Guards.cs:342:26:342:27 | !... | true | Guards.cs:342:27:342:27 | access to parameter b | false |
|
||||
| Guards.cs:343:31:343:31 | access to local variable s | non-null | Guards.cs:341:20:341:32 | ... ? ... : ... | non-null |
|
||||
| Guards.cs:343:31:343:31 | access to local variable s | null | Guards.cs:341:20:341:32 | ... ? ... : ... | null |
|
||||
| Guards.cs:348:13:348:25 | ... is ... | true | Guards.cs:348:13:348:13 | access to parameter o | non-null |
|
||||
| Splitting.cs:12:17:12:25 | ... != ... | false | Splitting.cs:12:17:12:17 | access to parameter o | null |
|
||||
| Splitting.cs:12:17:12:25 | ... != ... | true | Splitting.cs:12:17:12:17 | access to parameter o | non-null |
|
||||
| Splitting.cs:22:17:22:25 | ... != ... | false | Splitting.cs:22:17:22:17 | access to parameter o | null |
|
||||
|
||||
@@ -46,6 +46,7 @@
|
||||
| Guards.cs:283:17:283:17 | access to parameter o |
|
||||
| Guards.cs:287:17:287:17 | access to parameter o |
|
||||
| Guards.cs:343:31:343:31 | access to local variable s |
|
||||
| Guards.cs:349:13:349:13 | access to parameter o |
|
||||
| Splitting.cs:13:17:13:17 | access to parameter o |
|
||||
| Splitting.cs:23:24:23:24 | access to parameter o |
|
||||
| Splitting.cs:35:13:35:13 | access to parameter o |
|
||||
|
||||
Reference in New Issue
Block a user