mirror of
https://github.com/github/codeql.git
synced 2026-04-29 02:35:15 +02:00
Kotlin: Escape TRAP strings
This commit is contained in:
@@ -57,7 +57,7 @@ def genTable(kt, relname, body, enum = None, kind = None, num = None, typ = None
|
||||
if colname == kind:
|
||||
kt.write(str(num))
|
||||
elif db_type == 'string' or db_type == 'date':
|
||||
kt.write('\\"$' + colname + '\\"') # TODO: Escaping
|
||||
kt.write('\\"${escapeTrapString(' + colname + ')}\\"')
|
||||
else:
|
||||
# TODO: Any reformatting or escaping necessary?
|
||||
# e.g. float formats?
|
||||
@@ -70,11 +70,6 @@ with open('src/main/kotlin/KotlinExtractorDbScheme.kt', 'w') as kt:
|
||||
kt.write('/* Generated by ' + sys.argv[0] + ': Do not edit manually. */\n')
|
||||
kt.write('package com.github.codeql\n')
|
||||
|
||||
kt.write('class Label<T>(val name: Int) {\n')
|
||||
kt.write(' override fun toString(): String = "#$name"\n')
|
||||
kt.write('}\n')
|
||||
|
||||
|
||||
# kind enums
|
||||
for name, kind, body in re.findall(r'case\s+@([^.\s]*)\.([^.\s]*)\s+of\b(.*?);',
|
||||
dbscheme,
|
||||
|
||||
@@ -51,6 +51,12 @@ class KotlinExtractorExtension(private val tests: List<String>) : IrGenerationEx
|
||||
}
|
||||
}
|
||||
|
||||
class Label<T>(val name: Int) {
|
||||
override fun toString(): String = "#$name"
|
||||
}
|
||||
|
||||
fun escapeTrapString(str: String) = str.replace("\"", "\"\"")
|
||||
|
||||
class Logger() {
|
||||
private val warningCounts = mutableMapOf<String, Int>()
|
||||
private val warningLimit: Int
|
||||
|
||||
@@ -34,9 +34,10 @@
|
||||
| exprs.kt:24:14:24:18 | false |
|
||||
| exprs.kt:28:13:28:15 | x |
|
||||
| exprs.kt:29:16:29:25 | string lit |
|
||||
| exprs.kt:33:12:33:14 | 123 |
|
||||
| exprs.kt:33:12:33:20 | ... + ... |
|
||||
| exprs.kt:33:18:33:20 | 456 |
|
||||
| exprs.kt:30:25:30:37 | string " lit |
|
||||
| exprs.kt:34:12:34:14 | 123 |
|
||||
| exprs.kt:34:12:34:20 | ... + ... |
|
||||
| exprs.kt:34:18:34:20 | 456 |
|
||||
| file://:0:0:0:0 | b1 |
|
||||
| file://:0:0:0:0 | b2 |
|
||||
| file://:0:0:0:0 | b3 |
|
||||
@@ -67,3 +68,4 @@
|
||||
| file://:0:0:0:0 | i20 |
|
||||
| file://:0:0:0:0 | i21 |
|
||||
| file://:0:0:0:0 | str |
|
||||
| file://:0:0:0:0 | strWithQuote |
|
||||
|
||||
@@ -27,6 +27,7 @@ fun topLevelMethod(x: Int, y: Int): Int {
|
||||
val b5 = !b1
|
||||
val c = 'x'
|
||||
val str = "string lit"
|
||||
val strWithQuote = "string \" lit"
|
||||
val b6 = i1 is Int
|
||||
val b7 = i1 !is Int
|
||||
val b8 = b7 as Boolean
|
||||
|
||||
Reference in New Issue
Block a user