Skip to content

Commit ee7cf17

Browse files
committed
C#: Add test case for local disposal.
1 parent 41969a3 commit ee7cf17

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

csharp/ql/test/query-tests/API Abuse/NoDisposeCallOnLocalIDisposable/NoDisposeCallOnLocalIDisposable.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,11 @@ public IDisposable Method()
8383
// GOOD: Disposed automatically.
8484
using var c2 = new Timer(TimerProc);
8585

86+
// GOOD: ownership taken via ?? (false positive)
87+
StringReader source = null;
88+
using(XmlReader.Create(source ?? new StringReader("xml"), null))
89+
;
90+
8691
return null;
8792
}
8893

csharp/ql/test/query-tests/API Abuse/NoDisposeCallOnLocalIDisposable/NoDisposeCallOnLocalIDisposable.expected

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@
22
| NoDisposeCallOnLocalIDisposable.cs:53:18:53:73 | object creation of type FileStream | Disposable 'FileStream' is created here but is not disposed. |
33
| NoDisposeCallOnLocalIDisposable.cs:54:9:54:64 | object creation of type FileStream | Disposable 'FileStream' is created here but is not disposed. |
44
| NoDisposeCallOnLocalIDisposable.cs:76:25:76:71 | call to method Create | Disposable 'XmlReader' is created here but is not disposed. |
5+
| NoDisposeCallOnLocalIDisposable.cs:88:42:88:64 | object creation of type StringReader | Disposable 'StringReader' is created here but is not disposed. |
56
| NoDisposeCallOnLocalIDisposableBad.cs:8:22:8:56 | object creation of type FileStream | Disposable 'FileStream' is created here but is not disposed. |

0 commit comments

Comments
 (0)