Replace commas, brackets, and control characters with underscores (#1345)

* Sanitize filenames to exclude commas, brackets, and control characters

* Add Missing Things
This commit is contained in:
GameTechGuides 2024-05-18 17:21:32 +01:00 committed by GitHub
parent 9f5c10c2b4
commit 5b87c961b6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 4 additions and 2 deletions

View File

@ -26,7 +26,8 @@ namespace AssetRipper.IO.Files.Utils
{
string invalidChars = new string(Path.GetInvalidFileNameChars().Except(new char[] { '\\', '/' }).ToArray());
string escapedChars = Regex.Escape(invalidChars);
return new Regex($"[{escapedChars}]");
// Updated regex to include commas, square brackets, and ASCII control characters
return new Regex($"[{escapedChars},\\[\\]\\x00-\\x1F]");
}
public static string GetRelativePath(string filePath, string folder)

View File

@ -90,7 +90,8 @@ namespace AssetRipper.IO.Files.Utils
{
string invalidChars = GetInvalidFileNameChars();
string escapedChars = Regex.Escape(invalidChars);
return new Regex($"[{escapedChars}]");
// Updated regex to include commas, square brackets, and ASCII control characters
return new Regex($"[{escapedChars},\\[\\]\\x00-\\x1F]");
}
/// <summary>