From b853af2c7d591a212ec40c67561dee3a59ed6a2c Mon Sep 17 00:00:00 2001
From: Rob Hannay <rob@robhannay.co.uk>
Date: Fri, 21 Apr 2023 16:51:12 +0100
Subject: [PATCH] fix(fs): permit square brackets `[]` in file paths (#21625)

Co-authored-by: Sebastian Poxhofer <secustor@users.noreply.github.com>
---
 lib/util/fs/util.spec.ts | 1 +
 lib/util/fs/util.ts      | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/util/fs/util.spec.ts b/lib/util/fs/util.spec.ts
index c37d971b06..345acf38c2 100644
--- a/lib/util/fs/util.spec.ts
+++ b/lib/util/fs/util.spec.ts
@@ -73,6 +73,7 @@ describe('util/fs/util', () => {
     ${'/foo'}           | ${false}
     ${'&&'}             | ${false}
     ${';'}              | ${true}
+    ${'./[foo]/bar'}    | ${true}
   `('isValidPath($value) == $expected', ({ value, expected }) => {
     expect(isValidPath(value, 'cacheDir')).toBe(expected);
   });
diff --git a/lib/util/fs/util.ts b/lib/util/fs/util.ts
index ab7df10fdb..d43d6e27b6 100644
--- a/lib/util/fs/util.ts
+++ b/lib/util/fs/util.ts
@@ -5,7 +5,7 @@ import { logger } from '../../logger';
 
 // http://www.mtu.edu/umc/services/digital/writing/characters-avoid/
 // We allow spaces, but not newlines
-const restricted = /[[\]#%&<>*?\b\n\r\0!'"|‘“^`]/;
+const restricted = /[#%&<>*?\b\n\r\0!'"|‘“^`]/;
 
 function assertBaseDir(path: string, baseDir: string): void {
   if (!path.startsWith(baseDir)) {
-- 
GitLab