Skip to content

Commit 91b7798

Browse files
authored
Merge pull request github#11286 from tamasvajk/kotlin-resource-leak
Kotlin: Exclude .kt files from resource leak queries
2 parents bfb0ca7 + 307d2d5 commit 91b7798

File tree

9 files changed

+57
-0
lines changed

9 files changed

+57
-0
lines changed

java/ql/src/Likely Bugs/Resource Leaks/CloseReader.ql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ predicate safeReaderType(RefType t) {
3333

3434
from ClassInstanceExpr cie, RefType t
3535
where
36+
cie.getFile().isJavaSourceFile() and
3637
badCloseableInit(cie) and
3738
cie.getType() = t and
3839
readerType(t) and

java/ql/src/Likely Bugs/Resource Leaks/CloseSql.ql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import CloseType
1515

1616
from CloseableInitExpr cie, RefType t
1717
where
18+
cie.getFile().isJavaSourceFile() and
1819
badCloseableInit(cie) and
1920
cie.getType() = t and
2021
sqlType(t) and

java/ql/src/Likely Bugs/Resource Leaks/CloseWriter.ql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ predicate safeWriterType(RefType t) {
2929

3030
from ClassInstanceExpr cie, RefType t
3131
where
32+
cie.getFile().isJavaSourceFile() and
3233
badCloseableInit(cie) and
3334
cie.getType() = t and
3435
writerType(t) and

java/ql/test/kotlin/query-tests/CloseReader/CloseReader.expected

Whitespace-only changes.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import java.io.*
2+
3+
fun test0() {
4+
BufferedReader(FileReader("C:\\test.txt")).use { bw ->
5+
bw.readLine()
6+
}
7+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Likely Bugs/Resource Leaks/CloseReader.ql

java/ql/test/kotlin/query-tests/CloseWriter/CloseWriter.expected

Whitespace-only changes.
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import java.io.*
2+
3+
fun test0() {
4+
val bw = BufferedWriter(FileWriter("C:\\test.txt"))
5+
bw.write("test")
6+
}
7+
8+
fun test1() {
9+
BufferedWriter(FileWriter("C:\\test.txt")).use { bw ->
10+
bw.write("test")
11+
}
12+
}
13+
14+
fun test2() {
15+
val bw = FileOutputStream(File.createTempFile("","")).bufferedWriter()
16+
bw.write("test")
17+
}
18+
19+
fun test3() {
20+
FileOutputStream(File.createTempFile("","")).bufferedWriter().use { bw ->
21+
bw.write("test")
22+
}
23+
}
24+
25+
fun test4() {
26+
val bw = OutputStreamWriter(FileOutputStream(File.createTempFile("",""))).buffered()
27+
bw.write("test")
28+
}
29+
30+
fun test5() {
31+
OutputStreamWriter(FileOutputStream(File.createTempFile("",""))).buffered().use { bw ->
32+
bw.write("test")
33+
}
34+
}
35+
36+
fun test6() {
37+
val bw = OutputStreamWriter(FileOutputStream(File.createTempFile("","")))
38+
bw.write("test")
39+
}
40+
41+
fun test7() {
42+
OutputStreamWriter(FileOutputStream(File.createTempFile("",""))).use { bw ->
43+
bw.write("test")
44+
}
45+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Likely Bugs/Resource Leaks/CloseWriter.ql

0 commit comments

Comments
 (0)