mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
Use Stream extension to ensure read operations return the requested number of bytes (unless EOF arrives first).
This commit is contained in:
@@ -36,6 +36,7 @@ using System;
|
||||
using System.IO;
|
||||
using Aaru.CommonTypes.Enums;
|
||||
using Aaru.CommonTypes.Interfaces;
|
||||
using Aaru.Helpers;
|
||||
using Ionic.BZip2;
|
||||
|
||||
/// <inheritdoc />
|
||||
@@ -97,7 +98,7 @@ public class BZip2 : IFilter
|
||||
var buffer = new byte[4];
|
||||
|
||||
stream.Seek(0, SeekOrigin.Begin);
|
||||
stream.Read(buffer, 0, 4);
|
||||
stream.EnsureRead(buffer, 0, 4);
|
||||
stream.Seek(0, SeekOrigin.Begin);
|
||||
|
||||
if(buffer[0] != 0x42 ||
|
||||
@@ -111,7 +112,7 @@ public class BZip2 : IFilter
|
||||
return true;
|
||||
|
||||
stream.Seek(-512, SeekOrigin.End);
|
||||
stream.Read(buffer, 0, 4);
|
||||
stream.EnsureRead(buffer, 0, 4);
|
||||
stream.Seek(0, SeekOrigin.Begin);
|
||||
|
||||
// Check it is not an UDIF
|
||||
@@ -128,7 +129,7 @@ public class BZip2 : IFilter
|
||||
var buffer = new byte[4];
|
||||
|
||||
stream.Seek(0, SeekOrigin.Begin);
|
||||
stream.Read(buffer, 0, 4);
|
||||
stream.EnsureRead(buffer, 0, 4);
|
||||
stream.Seek(0, SeekOrigin.Begin);
|
||||
|
||||
if(buffer[0] != 0x42 ||
|
||||
@@ -142,7 +143,7 @@ public class BZip2 : IFilter
|
||||
return true;
|
||||
|
||||
stream.Seek(-512, SeekOrigin.End);
|
||||
stream.Read(buffer, 0, 4);
|
||||
stream.EnsureRead(buffer, 0, 4);
|
||||
stream.Seek(0, SeekOrigin.Begin);
|
||||
|
||||
// Check it is not an UDIF
|
||||
|
||||
Reference in New Issue
Block a user