From 5b238c6d0ff7fbd47277ee17ba5db6b4a872890f Mon Sep 17 00:00:00 2001 From: Frederick Widjaja Date: Thu, 7 Aug 2025 11:04:32 +0700 Subject: [PATCH] fix: check string for null terminators --- src/matroska/ebml.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/matroska/ebml.ts b/src/matroska/ebml.ts index 1db1f8a..ecc4e8b 100644 --- a/src/matroska/ebml.ts +++ b/src/matroska/ebml.ts @@ -499,7 +499,13 @@ export class EBMLReader { const { view, offset } = this.reader.getViewAndOffset(this.pos, this.pos + length); this.pos += length; - return String.fromCharCode(...new Uint8Array(view.buffer, offset, length)); + // Actual string length might be shorter due to null terminators + let strLength = 0; + while (strLength < length && view.getUint8(offset + strLength) !== 0) { + strLength += 1; + } + + return String.fromCharCode(...new Uint8Array(view.buffer, offset, strLength)); } readElementId() {