mirror of
https://github.com/aelurum/AssetStudio.git
synced 2025-05-27 22:00:23 -04:00
Add exception checking for gzip decompression
This commit is contained in:
parent
25c611fb9e
commit
cb84c137e5
@ -133,7 +133,7 @@ namespace AssetStudio
|
|||||||
|
|
||||||
private void LoadFile(FileReader reader)
|
private void LoadFile(FileReader reader)
|
||||||
{
|
{
|
||||||
switch (reader.FileType)
|
switch (reader?.FileType)
|
||||||
{
|
{
|
||||||
case FileType.AssetsFile:
|
case FileType.AssetsFile:
|
||||||
LoadAssetsFile(reader);
|
LoadAssetsFile(reader);
|
||||||
|
@ -53,15 +53,24 @@ namespace AssetStudio
|
|||||||
|
|
||||||
public static FileReader DecompressGZip(FileReader reader)
|
public static FileReader DecompressGZip(FileReader reader)
|
||||||
{
|
{
|
||||||
using (reader)
|
try
|
||||||
{
|
{
|
||||||
var stream = new MemoryStream();
|
using (reader)
|
||||||
using (var gs = new GZipStream(reader.BaseStream, CompressionMode.Decompress))
|
|
||||||
{
|
{
|
||||||
gs.CopyTo(stream);
|
var stream = new MemoryStream();
|
||||||
|
using (var gs = new GZipStream(reader.BaseStream, CompressionMode.Decompress))
|
||||||
|
{
|
||||||
|
gs.CopyTo(stream);
|
||||||
|
}
|
||||||
|
stream.Position = 0;
|
||||||
|
return new FileReader(reader.FullPath, stream);
|
||||||
}
|
}
|
||||||
stream.Position = 0;
|
}
|
||||||
return new FileReader(reader.FullPath, stream);
|
catch (System.Exception e)
|
||||||
|
{
|
||||||
|
Logger.Warning($"Error while decompressing gzip file {reader.FullPath}\r\n{e}");
|
||||||
|
reader.Dispose();
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user