From 548f8a52cfeb1a97b874ce0d1ea5a488ec8cd10f Mon Sep 17 00:00:00 2001 From: VaDiM Date: Sat, 24 May 2025 21:28:23 +0300 Subject: [PATCH] Minor fix for multibundle reader --- AssetStudio/AssetsManager.cs | 5 +++++ AssetStudioCLI/Studio.cs | 2 ++ AssetStudioGUI/Studio.cs | 2 ++ 3 files changed, 9 insertions(+) diff --git a/AssetStudio/AssetsManager.cs b/AssetStudio/AssetsManager.cs index 2db2439..ec24ae2 100644 --- a/AssetStudio/AssetsManager.cs +++ b/AssetStudio/AssetsManager.cs @@ -318,6 +318,11 @@ namespace AssetStudio { bundleStream.Offset = reader.Position; bundleReader = new FileReader($"{reader.FullPath}_0x{bundleStream.Offset:X}", bundleStream); + if (bundleReader.FileType != FileType.BundleFile) + { + Logger.Debug("Unknown data was detected after the end of the bundle."); + break; + } if (bundleReader.Position > 0) { bundleStream.Offset += bundleReader.Position; diff --git a/AssetStudioCLI/Studio.cs b/AssetStudioCLI/Studio.cs index 30f6b31..30a6ad6 100644 --- a/AssetStudioCLI/Studio.cs +++ b/AssetStudioCLI/Studio.cs @@ -103,6 +103,8 @@ namespace AssetStudioCLI { bundleStream.Offset = reader.Position; bundleReader = new FileReader($"{reader.FullPath}_0x{bundleStream.Offset:X}", bundleStream); + if (bundleReader.FileType != FileType.BundleFile) + break; if (bundleReader.Position > 0) { bundleStream.Offset += bundleReader.Position; diff --git a/AssetStudioGUI/Studio.cs b/AssetStudioGUI/Studio.cs index 5b25b37..5e83845 100644 --- a/AssetStudioGUI/Studio.cs +++ b/AssetStudioGUI/Studio.cs @@ -150,6 +150,8 @@ namespace AssetStudioGUI { bundleStream.Offset = reader.Position; bundleReader = new FileReader($"{reader.FullPath}_0x{bundleStream.Offset:X}", bundleStream); + if (bundleReader.FileType != FileType.BundleFile) + break; if (bundleReader.Position > 0) { bundleStream.Offset += bundleReader.Position;