mirror of
https://github.com/github/codeql.git
synced 2025-12-16 16:53:25 +01:00
C#: Re-factor to use inline expectation tests instead.
This commit is contained in:
@@ -48,9 +48,9 @@ class Test
|
||||
}
|
||||
|
||||
// BAD: No Dispose call
|
||||
var c1d = new Timer(TimerProc);
|
||||
var fs = new FileStream("", FileMode.CreateNew, FileAccess.Write);
|
||||
new FileStream("", FileMode.CreateNew, FileAccess.Write).Fluent();
|
||||
var c1d = new Timer(TimerProc); // $ Alert
|
||||
var fs = new FileStream("", FileMode.CreateNew, FileAccess.Write); // $ Alert
|
||||
new FileStream("", FileMode.CreateNew, FileAccess.Write).Fluent(); // $ Alert
|
||||
|
||||
// GOOD: Disposed via wrapper
|
||||
fs = new FileStream("", FileMode.CreateNew, FileAccess.Write);
|
||||
@@ -72,7 +72,7 @@ class Test
|
||||
;
|
||||
|
||||
// GOOD: XmlDocument.Load disposes incoming XmlReader (False positive as this is disposed in library code)
|
||||
var xmlReader = XmlReader.Create(new StringReader("xml"), null);
|
||||
var xmlReader = XmlReader.Create(new StringReader("xml"), null); // $ Alert
|
||||
var xmlDoc = new XmlDocument();
|
||||
xmlDoc.Load(xmlReader);
|
||||
|
||||
@@ -104,6 +104,15 @@ class Test
|
||||
public void Dispose() { }
|
||||
}
|
||||
|
||||
class Bad
|
||||
{
|
||||
long GetLength(string file)
|
||||
{
|
||||
var stream = new FileStream(file, FileMode.Open); // $ Alert
|
||||
return stream.Length;
|
||||
}
|
||||
}
|
||||
|
||||
static class Extensions
|
||||
{
|
||||
public static FileStream Fluent(this FileStream fs) => fs;
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
| NoDisposeCallOnLocalIDisposable.cs:53:9:53:64 | object creation of type FileStream | Disposable 'FileStream' is created but not disposed. |
|
||||
| NoDisposeCallOnLocalIDisposable.cs:75:25:75:71 | call to method Create | Disposable 'XmlReader' is created but not disposed. |
|
||||
| NoDisposeCallOnLocalIDisposable.cs:75:42:75:64 | object creation of type StringReader | Disposable 'StringReader' is created but not disposed. |
|
||||
| NoDisposeCallOnLocalIDisposableBad.cs:8:22:8:56 | object creation of type FileStream | Disposable 'FileStream' is created but not disposed. |
|
||||
| NoDisposeCallOnLocalIDisposable.cs:111:22:111:56 | object creation of type FileStream | Disposable 'FileStream' is created but not disposed. |
|
||||
|
||||
@@ -1 +1,2 @@
|
||||
API Abuse/NoDisposeCallOnLocalIDisposable.ql
|
||||
query: API Abuse/NoDisposeCallOnLocalIDisposable.ql
|
||||
postprocess: utils/test/InlineExpectationsTestQuery.ql
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
|
||||
class Bad
|
||||
{
|
||||
long GetLength(string file)
|
||||
{
|
||||
var stream = new FileStream(file, FileMode.Open);
|
||||
return stream.Length;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user