Skip to content

Commit a5276e9

Browse files
committed
Fix string escaping
1 parent dee5901 commit a5276e9

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

src/providers/FileSystemProvider/FileSearchProvider.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ export class FileSearchProvider implements vscode.FileSearchProvider {
4747
pattern = !csp ? query.pattern.replace(/\//g, ".") : query.pattern;
4848
if (pattern.includes("_") || pattern.includes("%")) {
4949
// Need to escape any % or _ characters
50-
filter = `Name LIKE '%${pattern.replace(/_/g, "\\_").replace(/%/g, "\\%")}%' ESCAPE '\\'`;
50+
filter = `Name LIKE '%${pattern.replace(/(_|%|\\)/g, "\\$1")}%' ESCAPE '\\'`;
5151
} else {
5252
filter = `Name LIKE '%${pattern}%'`;
5353
}

src/providers/WorkspaceSymbolProvider.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ export class WorkspaceSymbolProvider implements vscode.WorkspaceSymbolProvider {
9090
if (!vscode.workspace.workspaceFolders?.length) return;
9191
// Convert query to a LIKE compatible pattern
9292
let pattern = "%";
93-
for (const c of query) pattern += `${["_", "%"].includes(c) ? "\\" : ""}${c}%`;
93+
for (const c of query) pattern += `${["_", "%", "\\"].includes(c) ? "\\" : ""}${c}%`;
9494
if (token.isCancellationRequested) return;
9595
// Get results for all workspace folders
9696
return Promise.allSettled(

0 commit comments

Comments
 (0)