Fix output path issues for MS-CAB

This commit is contained in:
Matt Nadareski
2025-07-28 14:26:13 -04:00
parent ca87c48cd7
commit e93bab29fa

View File

@@ -60,7 +60,14 @@ namespace BinaryObjectScanner.FileType
byte[] fileData = new byte[compressedFile.FileSize];
Array.Copy(ms.ToArray(), compressedFile.FolderStartOffset, fileData, 0, compressedFile.FileSize);
string tempFile = Path.Combine(outDir, compressedFile.Name!);
// Ensure directory separators are consistent
string fileName = compressedFile.Name!;
if (Path.DirectorySeparatorChar == '\\')
fileName = fileName.Replace('/', '\\');
else if (Path.DirectorySeparatorChar == '/')
fileName = fileName.Replace('\\', '/');
string tempFile = Path.Combine(outDir, fileName);
var directoryName = Path.GetDirectoryName(tempFile);
if (directoryName != null && !Directory.Exists(directoryName))
Directory.CreateDirectory(directoryName);