From f28c1a4c83ab8cc8ae10cefe5d2f566b648ba083 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Sat, 23 Dec 2023 23:17:13 +0200 Subject: [PATCH] Validate strings as UTF-8 during parsing --- src/preserves/private/parsing.nim | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/preserves/private/parsing.nim b/src/preserves/private/parsing.nim index 2bd421c..43ee4db 100644 --- a/src/preserves/private/parsing.nim +++ b/src/preserves/private/parsing.nim @@ -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: