diff --git a/src/reader/common/text/tokenizer.ts b/src/reader/common/text/tokenizer.ts
index a4bbf121feeac80a22e23174531dc53038d5e7b4..5a5fc2b82f5c7dad4500db95de84e155a144f34d 100644
--- a/src/reader/common/text/tokenizer.ts
+++ b/src/reader/common/text/tokenizer.ts
@@ -122,7 +122,7 @@ export function trim(state: State, start: number, end: number) {
     let c = data.charCodeAt(s);
     while (c === 9 || c === 32) c = data.charCodeAt(++s);
     c = data.charCodeAt(e);
-    while (c === 9 || c === 32) c = data.charCodeAt(--e);
+    while ((c === 9 || c === 32) && e >= s) c = data.charCodeAt(--e);
 
     state.currentTokenStart = s;
     state.currentTokenEnd = e + 1;