From b3f35b600722de8c5f755118935be1c8d68def70 Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Sun, 25 Jan 2026 13:16:48 +0100 Subject: [PATCH] Return the `rawFilename` as-is even if it's empty, from `FileSpec.prototype.serializable` It's more correct to return the `rawFilename` as-is, and limit the fallback for empty filenames to only the `filename` property. --- src/core/file_spec.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/core/file_spec.js b/src/core/file_spec.js index 198a663c9..c5b367950 100644 --- a/src/core/file_spec.js +++ b/src/core/file_spec.js @@ -65,14 +65,15 @@ class FileSpec { get filename() { const item = pickPlatformItem(this.root); - let name; if (item && typeof item === "string") { - name = stringToPDFString(item, /* keepEscapeSequence = */ true) + // NOTE: The following replacement order is INTENTIONAL, regardless of + // what some static code analysers (e.g. CodeQL) may claim. + return stringToPDFString(item, /* keepEscapeSequence = */ true) .replaceAll("\\\\", "\\") .replaceAll("\\/", "/") .replaceAll("\\", "/"); } - return name || "unnamed"; + return ""; } get content() { @@ -100,7 +101,7 @@ class FileSpec { const { filename, content, description } = this; return { rawFilename: filename, - filename: stripPath(filename), + filename: stripPath(filename) || "unnamed", content, description, };