Validate strings as UTF-8 during parsing

This commit is contained in:
Emery Hemingway 2023-12-23 23:17:13 +02:00
parent 12bc024992
commit f28c1a4c83
1 changed files with 2 additions and 0 deletions

View File

@ -188,6 +188,8 @@ proc parsePreserves*(text: string): Preserve[void] =
Preserves.String <- Preserves.String:
var v = Value(kind: pkString, string: newStringOfCap(len($1)))
unescape(v.string, $1)
if validateUtf8(v.string) != -1:
raise newException(ValueError, "Preserves text contains an invalid UTF-8 sequence")
pushStack v
Preserves.charByteString <- Preserves.charByteString: