From e93bab29fa14b13ec5eddd7247a166315a0e4ff8 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Mon, 28 Jul 2025 14:26:13 -0400 Subject: [PATCH] Fix output path issues for MS-CAB --- BinaryObjectScanner/FileType/MicrosoftCAB.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/BinaryObjectScanner/FileType/MicrosoftCAB.cs b/BinaryObjectScanner/FileType/MicrosoftCAB.cs index efea2cf7..499e5ddd 100644 --- a/BinaryObjectScanner/FileType/MicrosoftCAB.cs +++ b/BinaryObjectScanner/FileType/MicrosoftCAB.cs @@ -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);