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