mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-09-24 07:45:06 +00:00
Ensure read errors don't throw on wrapper creation
This commit is contained in:
@@ -69,13 +69,13 @@ namespace SabreTools.Serialization.Wrappers
|
||||
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
|
||||
return null;
|
||||
|
||||
var mediaKeyBlock = Deserializers.AACS.DeserializeStream(data);
|
||||
if (mediaKeyBlock == null)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
return new AACSMediaKeyBlock(mediaKeyBlock, data);
|
||||
var mkb = Deserializers.AACS.DeserializeStream(data);
|
||||
if (mkb == null)
|
||||
return null;
|
||||
|
||||
return new AACSMediaKeyBlock(mkb, data);
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
||||
@@ -69,12 +69,12 @@ namespace SabreTools.Serialization.Wrappers
|
||||
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
|
||||
return null;
|
||||
|
||||
var svm = Deserializers.BDPlus.DeserializeStream(data);
|
||||
if (svm == null)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
var svm = Deserializers.BDPlus.DeserializeStream(data);
|
||||
if (svm == null)
|
||||
return null;
|
||||
|
||||
return new BDPlusSVM(svm, data);
|
||||
}
|
||||
catch
|
||||
|
||||
@@ -59,12 +59,12 @@ namespace SabreTools.Serialization.Wrappers
|
||||
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
|
||||
return null;
|
||||
|
||||
var archive = Deserializers.BFPK.DeserializeStream(data);
|
||||
if (archive == null)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
var archive = Deserializers.BFPK.DeserializeStream(data);
|
||||
if (archive == null)
|
||||
return null;
|
||||
|
||||
return new BFPK(archive, data);
|
||||
}
|
||||
catch
|
||||
|
||||
@@ -60,12 +60,12 @@ namespace SabreTools.Serialization.Wrappers
|
||||
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
|
||||
return null;
|
||||
|
||||
var file = Deserializers.BSP.DeserializeStream(data);
|
||||
if (file == null)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
var file = Deserializers.BSP.DeserializeStream(data);
|
||||
if (file == null)
|
||||
return null;
|
||||
|
||||
return new BSP(file, data);
|
||||
}
|
||||
catch
|
||||
|
||||
@@ -75,12 +75,12 @@ namespace SabreTools.Serialization.Wrappers
|
||||
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
|
||||
return null;
|
||||
|
||||
var binary = Deserializers.CFB.DeserializeStream(data);
|
||||
if (binary == null)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
var binary = Deserializers.CFB.DeserializeStream(data);
|
||||
if (binary == null)
|
||||
return null;
|
||||
|
||||
return new CFB(binary, data);
|
||||
}
|
||||
catch
|
||||
|
||||
@@ -95,19 +95,19 @@ namespace SabreTools.Serialization.Wrappers
|
||||
/// Create a CHD header from a Stream
|
||||
/// </summary>
|
||||
/// <param name="data">Stream representing the archive</param>
|
||||
/// <returns>An CHD header on success, null on failure</returns>
|
||||
/// <returns>A CHD header on success, null on failure</returns>
|
||||
public static CHD? Create(Stream? data)
|
||||
{
|
||||
// If the data is invalid
|
||||
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
|
||||
return null;
|
||||
|
||||
var header = Deserializers.CHD.DeserializeStream(data);
|
||||
if (header == null)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
var header = Deserializers.CHD.DeserializeStream(data);
|
||||
if (header == null)
|
||||
return null;
|
||||
|
||||
return new CHD(header, data);
|
||||
}
|
||||
catch
|
||||
|
||||
@@ -60,13 +60,13 @@ namespace SabreTools.Serialization.Wrappers
|
||||
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
|
||||
return null;
|
||||
|
||||
var archive = Deserializers.CIA.DeserializeStream(data);
|
||||
if (archive == null)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
return new CIA(archive, data);
|
||||
var cia = Deserializers.CIA.DeserializeStream(data);
|
||||
if (cia == null)
|
||||
return null;
|
||||
|
||||
return new CIA(cia, data);
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
||||
@@ -215,12 +215,12 @@ namespace SabreTools.Serialization.Wrappers
|
||||
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
|
||||
return null;
|
||||
|
||||
var file = Deserializers.GCF.DeserializeStream(data);
|
||||
if (file == null)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
var file = Deserializers.GCF.DeserializeStream(data);
|
||||
if (file == null)
|
||||
return null;
|
||||
|
||||
return new GCF(file, data);
|
||||
}
|
||||
catch
|
||||
|
||||
@@ -59,13 +59,13 @@ namespace SabreTools.Serialization.Wrappers
|
||||
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
|
||||
return null;
|
||||
|
||||
var ird = Deserializers.IRD.DeserializeStream(data);
|
||||
if (ird == null)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
return new IRD(ird, data);
|
||||
var file = Deserializers.IRD.DeserializeStream(data);
|
||||
if (file == null)
|
||||
return null;
|
||||
|
||||
return new IRD(file, data);
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
||||
@@ -119,12 +119,12 @@ namespace SabreTools.Serialization.Wrappers
|
||||
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
|
||||
return null;
|
||||
|
||||
var cabinet = Deserializers.InstallShieldCabinet.DeserializeStream(data);
|
||||
if (cabinet == null)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
var cabinet = Deserializers.InstallShieldCabinet.DeserializeStream(data);
|
||||
if (cabinet == null)
|
||||
return null;
|
||||
|
||||
return new InstallShieldCabinet(cabinet, data);
|
||||
}
|
||||
catch
|
||||
|
||||
@@ -60,12 +60,12 @@ namespace SabreTools.Serialization.Wrappers
|
||||
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
|
||||
return null;
|
||||
|
||||
var executable = Deserializers.LinearExecutable.DeserializeStream(data);
|
||||
if (executable == null)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
var executable = Deserializers.LinearExecutable.DeserializeStream(data);
|
||||
if (executable == null)
|
||||
return null;
|
||||
|
||||
return new LinearExecutable(executable, data);
|
||||
}
|
||||
catch
|
||||
|
||||
@@ -59,12 +59,12 @@ namespace SabreTools.Serialization.Wrappers
|
||||
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
|
||||
return null;
|
||||
|
||||
var executable = Deserializers.MSDOS.DeserializeStream(data);
|
||||
if (executable == null)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
var executable = Deserializers.MSDOS.DeserializeStream(data);
|
||||
if (executable == null)
|
||||
return null;
|
||||
|
||||
return new MSDOS(executable, data);
|
||||
}
|
||||
catch
|
||||
|
||||
@@ -60,12 +60,12 @@ namespace SabreTools.Serialization.Wrappers
|
||||
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
|
||||
return null;
|
||||
|
||||
var cabinet = Deserializers.MicrosoftCabinet.DeserializeStream(data);
|
||||
if (cabinet == null)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
var cabinet = Deserializers.MicrosoftCabinet.DeserializeStream(data);
|
||||
if (cabinet == null)
|
||||
return null;
|
||||
|
||||
return new MicrosoftCabinet(cabinet, data);
|
||||
}
|
||||
catch
|
||||
|
||||
@@ -59,12 +59,12 @@ namespace SabreTools.Serialization.Wrappers
|
||||
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
|
||||
return null;
|
||||
|
||||
var archive = Deserializers.MoPaQ.DeserializeStream(data);
|
||||
if (archive == null)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
var archive = Deserializers.MoPaQ.DeserializeStream(data);
|
||||
if (archive == null)
|
||||
return null;
|
||||
|
||||
return new MoPaQ(archive, data);
|
||||
}
|
||||
catch
|
||||
|
||||
@@ -25,7 +25,7 @@ namespace SabreTools.Serialization.Wrappers
|
||||
/// ExeFS headers
|
||||
/// </summary>
|
||||
public ExeFSHeader?[] ExeFSHeaders => Model.ExeFSHeaders ?? [];
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Media unit size in bytes
|
||||
/// </summary>
|
||||
@@ -254,13 +254,13 @@ namespace SabreTools.Serialization.Wrappers
|
||||
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
|
||||
return null;
|
||||
|
||||
var archive = Deserializers.N3DS.DeserializeStream(data);
|
||||
if (archive == null)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
return new N3DS(archive, data);
|
||||
var cart = Deserializers.N3DS.DeserializeStream(data);
|
||||
if (cart == null)
|
||||
return null;
|
||||
|
||||
return new N3DS(cart, data);
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
||||
@@ -59,12 +59,12 @@ namespace SabreTools.Serialization.Wrappers
|
||||
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
|
||||
return null;
|
||||
|
||||
var file = Deserializers.NCF.DeserializeStream(data);
|
||||
if (file == null)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
var file = Deserializers.NCF.DeserializeStream(data);
|
||||
if (file == null)
|
||||
return null;
|
||||
|
||||
return new NCF(file, data);
|
||||
}
|
||||
catch
|
||||
|
||||
@@ -60,12 +60,12 @@ namespace SabreTools.Serialization.Wrappers
|
||||
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
|
||||
return null;
|
||||
|
||||
var executable = Deserializers.NewExecutable.DeserializeStream(data);
|
||||
if (executable == null)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
var executable = Deserializers.NewExecutable.DeserializeStream(data);
|
||||
if (executable == null)
|
||||
return null;
|
||||
|
||||
return new NewExecutable(executable, data);
|
||||
}
|
||||
catch
|
||||
|
||||
@@ -59,13 +59,13 @@ namespace SabreTools.Serialization.Wrappers
|
||||
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
|
||||
return null;
|
||||
|
||||
var archive = Deserializers.Nitro.DeserializeStream(data);
|
||||
if (archive == null)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
return new Nitro(archive, data);
|
||||
var cart = Deserializers.Nitro.DeserializeStream(data);
|
||||
if (cart == null)
|
||||
return null;
|
||||
|
||||
return new Nitro(cart, data);
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
||||
@@ -67,12 +67,12 @@ namespace SabreTools.Serialization.Wrappers
|
||||
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
|
||||
return null;
|
||||
|
||||
var file = Deserializers.PAK.DeserializeStream(data);
|
||||
if (file == null)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
var file = Deserializers.PAK.DeserializeStream(data);
|
||||
if (file == null)
|
||||
return null;
|
||||
|
||||
return new PAK(file, data);
|
||||
}
|
||||
catch
|
||||
|
||||
@@ -72,12 +72,12 @@ namespace SabreTools.Serialization.Wrappers
|
||||
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
|
||||
return null;
|
||||
|
||||
var archive = Deserializers.PFF.DeserializeStream(data);
|
||||
if (archive == null)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
var archive = Deserializers.PFF.DeserializeStream(data);
|
||||
if (archive == null)
|
||||
return null;
|
||||
|
||||
return new PFF(archive, data);
|
||||
}
|
||||
catch
|
||||
|
||||
@@ -34,13 +34,13 @@ namespace SabreTools.Serialization.Wrappers
|
||||
{
|
||||
// All logic is handled by the base class
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Create a PIC disc information object from a byte array and offset
|
||||
/// </summary>
|
||||
/// <param name="data">Byte array representing the information</param>
|
||||
/// <param name="offset">Offset within the array to parse</param>
|
||||
/// <returns>A PIC disc information wrapper on success, null on failure</returns>
|
||||
/// Create a PIC disc information object from a byte array and offset
|
||||
/// </summary>
|
||||
/// <param name="data">Byte array representing the information</param>
|
||||
/// <param name="offset">Offset within the array to parse</param>
|
||||
/// <returns>A PIC disc information wrapper on success, null on failure</returns>
|
||||
public static PIC? Create(byte[]? data, int offset)
|
||||
{
|
||||
// If the data is invalid
|
||||
@@ -67,13 +67,14 @@ namespace SabreTools.Serialization.Wrappers
|
||||
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
|
||||
return null;
|
||||
|
||||
var info = Deserializers.PIC.DeserializeStream(data);
|
||||
if (info == null)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
return new PIC(info, data);
|
||||
|
||||
var di = Deserializers.PIC.DeserializeStream(data);
|
||||
if (di == null)
|
||||
return null;
|
||||
|
||||
return new PIC(di, data);
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
||||
@@ -60,12 +60,12 @@ namespace SabreTools.Serialization.Wrappers
|
||||
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
|
||||
return null;
|
||||
|
||||
var archive = Deserializers.PKZIP.DeserializeStream(data);
|
||||
if (archive == null)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
var archive = Deserializers.PKZIP.DeserializeStream(data);
|
||||
if (archive == null)
|
||||
return null;
|
||||
|
||||
return new PKZIP(archive, data);
|
||||
}
|
||||
catch
|
||||
|
||||
@@ -59,12 +59,12 @@ namespace SabreTools.Serialization.Wrappers
|
||||
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
|
||||
return null;
|
||||
|
||||
var audioFile = Deserializers.PlayJAudio.DeserializeStream(data);
|
||||
if (audioFile == null)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
var audioFile = Deserializers.PlayJAudio.DeserializeStream(data);
|
||||
if (audioFile == null)
|
||||
return null;
|
||||
|
||||
return new PlayJAudioFile(audioFile, data);
|
||||
}
|
||||
catch
|
||||
|
||||
@@ -59,12 +59,12 @@ namespace SabreTools.Serialization.Wrappers
|
||||
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
|
||||
return null;
|
||||
|
||||
var playlist = Deserializers.PlayJPlaylist.DeserializeStream(data);
|
||||
if (playlist == null)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
var playlist = Deserializers.PlayJPlaylist.DeserializeStream(data);
|
||||
if (playlist == null)
|
||||
return null;
|
||||
|
||||
return new PlayJPlaylist(playlist, data);
|
||||
}
|
||||
catch
|
||||
|
||||
@@ -806,12 +806,12 @@ namespace SabreTools.Serialization.Wrappers
|
||||
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
|
||||
return null;
|
||||
|
||||
var executable = Deserializers.PortableExecutable.DeserializeStream(data);
|
||||
if (executable == null)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
var executable = Deserializers.PortableExecutable.DeserializeStream(data);
|
||||
if (executable == null)
|
||||
return null;
|
||||
|
||||
return new PortableExecutable(executable, data);
|
||||
}
|
||||
catch
|
||||
|
||||
@@ -59,12 +59,12 @@ namespace SabreTools.Serialization.Wrappers
|
||||
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
|
||||
return null;
|
||||
|
||||
var archive = Deserializers.Quantum.DeserializeStream(data);
|
||||
if (archive == null)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
var archive = Deserializers.Quantum.DeserializeStream(data);
|
||||
if (archive == null)
|
||||
return null;
|
||||
|
||||
return new Quantum(archive, data);
|
||||
}
|
||||
catch
|
||||
|
||||
@@ -103,12 +103,12 @@ namespace SabreTools.Serialization.Wrappers
|
||||
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
|
||||
return null;
|
||||
|
||||
var file = Deserializers.SGA.DeserializeStream(data);
|
||||
if (file == null)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
var file = Deserializers.SGA.DeserializeStream(data);
|
||||
if (file == null)
|
||||
return null;
|
||||
|
||||
return new SGA(file, data);
|
||||
}
|
||||
catch
|
||||
|
||||
@@ -60,12 +60,12 @@ namespace SabreTools.Serialization.Wrappers
|
||||
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
|
||||
return null;
|
||||
|
||||
var file = Deserializers.VBSP.DeserializeStream(data);
|
||||
if (file == null)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
var file = Deserializers.VBSP.DeserializeStream(data);
|
||||
if (file == null)
|
||||
return null;
|
||||
|
||||
return new VBSP(file, data);
|
||||
}
|
||||
catch
|
||||
|
||||
@@ -130,12 +130,12 @@ namespace SabreTools.Serialization.Wrappers
|
||||
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
|
||||
return null;
|
||||
|
||||
var file = Deserializers.VPK.DeserializeStream(data);
|
||||
if (file == null)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
var file = Deserializers.VPK.DeserializeStream(data);
|
||||
if (file == null)
|
||||
return null;
|
||||
|
||||
return new VPK(file, data);
|
||||
}
|
||||
catch
|
||||
|
||||
@@ -59,12 +59,12 @@ namespace SabreTools.Serialization.Wrappers
|
||||
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
|
||||
return null;
|
||||
|
||||
var file = Deserializers.WAD3.DeserializeStream(data);
|
||||
if (file == null)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
var file = Deserializers.WAD3.DeserializeStream(data);
|
||||
if (file == null)
|
||||
return null;
|
||||
|
||||
return new WAD3(file, data);
|
||||
}
|
||||
catch
|
||||
|
||||
@@ -87,14 +87,15 @@ namespace SabreTools.Serialization.Wrappers
|
||||
if (data == null || data.Length == 0)
|
||||
return null;
|
||||
|
||||
var binary = Deserializers.XMID.DeserializeString(data);
|
||||
if (binary == null)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
var xmid = Deserializers.XMID.DeserializeString(data);
|
||||
if (xmid == null)
|
||||
return null;
|
||||
|
||||
var ms = new MemoryStream(Encoding.ASCII.GetBytes(data));
|
||||
return new XMID(binary, ms);
|
||||
return new XMID(xmid, ms);
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
||||
@@ -60,12 +60,12 @@ namespace SabreTools.Serialization.Wrappers
|
||||
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
|
||||
return null;
|
||||
|
||||
var file = Deserializers.XZP.DeserializeStream(data);
|
||||
if (file == null)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
var file = Deserializers.XZP.DeserializeStream(data);
|
||||
if (file == null)
|
||||
return null;
|
||||
|
||||
return new XZP(file, data);
|
||||
}
|
||||
catch
|
||||
|
||||
@@ -102,14 +102,14 @@ namespace SabreTools.Serialization.Wrappers
|
||||
if (data == null || data.Length == 0)
|
||||
return null;
|
||||
|
||||
var binary = Deserializers.XeMID.DeserializeString(data);
|
||||
if (binary == null)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
var xemid = Deserializers.XeMID.DeserializeString(data);
|
||||
if (xemid == null)
|
||||
return null;
|
||||
|
||||
var ms = new MemoryStream(Encoding.ASCII.GetBytes(data));
|
||||
return new XeMID(binary, ms);
|
||||
return new XeMID(xemid, ms);
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user