From fca210cd103a496f25c23786b861a67f4d1ee16b Mon Sep 17 00:00:00 2001 From: Ladislau Szomoru <3372902+lszomoru@users.noreply.github.com> Date: Mon, 23 Dec 2024 12:56:24 +0100 Subject: [PATCH] Git - escape shell-sensitive characters (#236849) --- extensions/git/src/git.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/extensions/git/src/git.ts b/extensions/git/src/git.ts index 62bae1422df..5bdfd655dbc 100644 --- a/extensions/git/src/git.ts +++ b/extensions/git/src/git.ts @@ -348,10 +348,15 @@ function getGitErrorCode(stderr: string): string | undefined { return undefined; } -// https://github.com/microsoft/vscode/issues/89373 -// https://github.com/git-for-windows/git/issues/2478 function sanitizePath(path: string): string { - return path.replace(/^([a-z]):\\/i, (_, letter) => `${letter.toUpperCase()}:\\`); + return path + // Drive letter + // https://github.com/microsoft/vscode/issues/89373 + // https://github.com/git-for-windows/git/issues/2478 + .replace(/^([a-z]):\\/i, (_, letter) => `${letter.toUpperCase()}:\\`) + // Shell-sensitive characters + // https://github.com/microsoft/vscode/issues/133566 + .replace(/(["'\\\$!><#()\[\]*&^| ;{}?`])/g, '\\$1'); } const COMMIT_FORMAT = '%H%n%aN%n%aE%n%at%n%ct%n%P%n%D%n%B';