mirror of
https://github.com/github/codeql.git
synced 2026-04-30 11:15:13 +02:00
Merge pull request #11286 from tamasvajk/kotlin-resource-leak
Kotlin: Exclude .kt files from resource leak queries
This commit is contained in:
@@ -33,6 +33,7 @@ predicate safeReaderType(RefType t) {
|
||||
|
||||
from ClassInstanceExpr cie, RefType t
|
||||
where
|
||||
cie.getFile().isJavaSourceFile() and
|
||||
badCloseableInit(cie) and
|
||||
cie.getType() = t and
|
||||
readerType(t) and
|
||||
|
||||
@@ -15,6 +15,7 @@ import CloseType
|
||||
|
||||
from CloseableInitExpr cie, RefType t
|
||||
where
|
||||
cie.getFile().isJavaSourceFile() and
|
||||
badCloseableInit(cie) and
|
||||
cie.getType() = t and
|
||||
sqlType(t) and
|
||||
|
||||
@@ -29,6 +29,7 @@ predicate safeWriterType(RefType t) {
|
||||
|
||||
from ClassInstanceExpr cie, RefType t
|
||||
where
|
||||
cie.getFile().isJavaSourceFile() and
|
||||
badCloseableInit(cie) and
|
||||
cie.getType() = t and
|
||||
writerType(t) and
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
import java.io.*
|
||||
|
||||
fun test0() {
|
||||
BufferedReader(FileReader("C:\\test.txt")).use { bw ->
|
||||
bw.readLine()
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
Likely Bugs/Resource Leaks/CloseReader.ql
|
||||
45
java/ql/test/kotlin/query-tests/CloseWriter/CloseWriter.kt
Normal file
45
java/ql/test/kotlin/query-tests/CloseWriter/CloseWriter.kt
Normal file
@@ -0,0 +1,45 @@
|
||||
import java.io.*
|
||||
|
||||
fun test0() {
|
||||
val bw = BufferedWriter(FileWriter("C:\\test.txt"))
|
||||
bw.write("test")
|
||||
}
|
||||
|
||||
fun test1() {
|
||||
BufferedWriter(FileWriter("C:\\test.txt")).use { bw ->
|
||||
bw.write("test")
|
||||
}
|
||||
}
|
||||
|
||||
fun test2() {
|
||||
val bw = FileOutputStream(File.createTempFile("","")).bufferedWriter()
|
||||
bw.write("test")
|
||||
}
|
||||
|
||||
fun test3() {
|
||||
FileOutputStream(File.createTempFile("","")).bufferedWriter().use { bw ->
|
||||
bw.write("test")
|
||||
}
|
||||
}
|
||||
|
||||
fun test4() {
|
||||
val bw = OutputStreamWriter(FileOutputStream(File.createTempFile("",""))).buffered()
|
||||
bw.write("test")
|
||||
}
|
||||
|
||||
fun test5() {
|
||||
OutputStreamWriter(FileOutputStream(File.createTempFile("",""))).buffered().use { bw ->
|
||||
bw.write("test")
|
||||
}
|
||||
}
|
||||
|
||||
fun test6() {
|
||||
val bw = OutputStreamWriter(FileOutputStream(File.createTempFile("","")))
|
||||
bw.write("test")
|
||||
}
|
||||
|
||||
fun test7() {
|
||||
OutputStreamWriter(FileOutputStream(File.createTempFile("",""))).use { bw ->
|
||||
bw.write("test")
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
Likely Bugs/Resource Leaks/CloseWriter.ql
|
||||
Reference in New Issue
Block a user