diff --git a/src/SharpCompress/Archives/GZip/GZipArchiveEntry.cs b/src/SharpCompress/Archives/GZip/GZipArchiveEntry.cs
index 459d042d..f00e889c 100644
--- a/src/SharpCompress/Archives/GZip/GZipArchiveEntry.cs
+++ b/src/SharpCompress/Archives/GZip/GZipArchiveEntry.cs
@@ -17,7 +17,7 @@ public class GZipArchiveEntry : GZipEntry, IArchiveEntry
{
part.GetRawStream().Position = part.EntryStartPosition;
}
- return Parts.Single().GetCompressedStream();
+ return Parts.Single().GetCompressedStream().NotNull();
}
#region IArchiveEntry Members
diff --git a/src/SharpCompress/Archives/Rar/RarArchiveEntry.cs b/src/SharpCompress/Archives/Rar/RarArchiveEntry.cs
index fa59b295..262d7cbe 100644
--- a/src/SharpCompress/Archives/Rar/RarArchiveEntry.cs
+++ b/src/SharpCompress/Archives/Rar/RarArchiveEntry.cs
@@ -42,7 +42,7 @@ public class RarArchiveEntry : RarEntry, IArchiveEntry
{
CheckIncomplete();
return BitConverter.ToUInt32(
- parts.Select(fp => fp.FileHeader).Single(fh => !fh.IsSplitAfter).FileCrc,
+ parts.Select(fp => fp.FileHeader).Single(fh => !fh.IsSplitAfter).FileCrc.NotNull(),
0
);
}
diff --git a/src/SharpCompress/Archives/Tar/TarArchiveEntry.cs b/src/SharpCompress/Archives/Tar/TarArchiveEntry.cs
index d04c4ef8..770a7109 100644
--- a/src/SharpCompress/Archives/Tar/TarArchiveEntry.cs
+++ b/src/SharpCompress/Archives/Tar/TarArchiveEntry.cs
@@ -10,7 +10,7 @@ public class TarArchiveEntry : TarEntry, IArchiveEntry
internal TarArchiveEntry(TarArchive archive, TarFilePart? part, CompressionType compressionType)
: base(part, compressionType) => Archive = archive;
- public virtual Stream OpenEntryStream() => Parts.Single().GetCompressedStream();
+ public virtual Stream OpenEntryStream() => Parts.Single().GetCompressedStream().NotNull();
#region IArchiveEntry Members
diff --git a/src/SharpCompress/Archives/Zip/ZipArchiveEntry.cs b/src/SharpCompress/Archives/Zip/ZipArchiveEntry.cs
index a94ed2c6..f13faee7 100644
--- a/src/SharpCompress/Archives/Zip/ZipArchiveEntry.cs
+++ b/src/SharpCompress/Archives/Zip/ZipArchiveEntry.cs
@@ -9,7 +9,7 @@ public class ZipArchiveEntry : ZipEntry, IArchiveEntry
internal ZipArchiveEntry(ZipArchive archive, SeekableZipFilePart? part)
: base(part) => Archive = archive;
- public virtual Stream OpenEntryStream() => Parts.Single().GetCompressedStream();
+ public virtual Stream OpenEntryStream() => Parts.Single().GetCompressedStream().NotNull();
#region IArchiveEntry Members
diff --git a/src/SharpCompress/Common/FilePart.cs b/src/SharpCompress/Common/FilePart.cs
index 23b8b400..54e3c9f9 100644
--- a/src/SharpCompress/Common/FilePart.cs
+++ b/src/SharpCompress/Common/FilePart.cs
@@ -11,7 +11,7 @@ public abstract class FilePart
internal abstract string? FilePartName { get; }
public int Index { get; set; }
- internal abstract Stream GetCompressedStream();
+ internal abstract Stream? GetCompressedStream();
internal abstract Stream? GetRawStream();
internal bool Skipped { get; set; }
}
diff --git a/src/SharpCompress/Common/Rar/CryptKey5.cs b/src/SharpCompress/Common/Rar/CryptKey5.cs
index 0b802691..90778c5a 100644
--- a/src/SharpCompress/Common/Rar/CryptKey5.cs
+++ b/src/SharpCompress/Common/Rar/CryptKey5.cs
@@ -17,7 +17,7 @@ internal class CryptKey5 : ICryptKey
private byte[] _pswCheck = { };
private byte[] _hashKey = { };
- public CryptKey5(string password, Rar5CryptoInfo rar5CryptoInfo)
+ public CryptKey5(string? password, Rar5CryptoInfo rar5CryptoInfo)
{
_password = password ?? "";
_cryptoInfo = rar5CryptoInfo;
diff --git a/src/SharpCompress/Common/Rar/Headers/ArchiveCryptHeader.cs b/src/SharpCompress/Common/Rar/Headers/ArchiveCryptHeader.cs
index 5aa29d49..f819b478 100644
--- a/src/SharpCompress/Common/Rar/Headers/ArchiveCryptHeader.cs
+++ b/src/SharpCompress/Common/Rar/Headers/ArchiveCryptHeader.cs
@@ -1,8 +1,5 @@
#nullable disable
-using System;
-using System.Security.Cryptography;
-using SharpCompress.Common.Rar.Headers;
using SharpCompress.IO;
namespace SharpCompress.Common.Rar.Headers;
diff --git a/src/SharpCompress/Common/Rar/Headers/FileHeader.cs b/src/SharpCompress/Common/Rar/Headers/FileHeader.cs
index eea8293d..d1bf7b8a 100644
--- a/src/SharpCompress/Common/Rar/Headers/FileHeader.cs
+++ b/src/SharpCompress/Common/Rar/Headers/FileHeader.cs
@@ -1,9 +1,6 @@
-#nullable disable
-
using System;
using System.IO;
using System.Linq;
-using System.Security.Cryptography;
using System.Text;
using SharpCompress.IO;
#if !Rar2017_64bit
@@ -18,7 +15,7 @@ namespace SharpCompress.Common.Rar.Headers;
internal class FileHeader : RarHeader
{
- private byte[] _hash;
+ private byte[]? _hash;
public FileHeader(RarHeader header, RarCrcBinaryReader reader, HeaderType headerType)
: base(header, reader, headerType) { }
@@ -319,6 +316,10 @@ internal class FileHeader : RarHeader
if (NewSubHeaderType.SUBHEAD_TYPE_RR.Equals(fileNameBytes))
{
+ if (SubData is null)
+ {
+ throw new InvalidFormatException();
+ }
RecoverySectors =
SubData[8]
+ (SubData[9] << 8)
@@ -340,12 +341,16 @@ internal class FileHeader : RarHeader
if (RemainingHeaderBytes(reader) >= 2)
{
var extendedFlags = reader.ReadUInt16();
- FileLastModifiedTime = ProcessExtendedTimeV4(
- extendedFlags,
- FileLastModifiedTime,
- reader,
- 0
- );
+ if (FileLastModifiedTime is not null)
+ {
+ FileLastModifiedTime = ProcessExtendedTimeV4(
+ extendedFlags,
+ FileLastModifiedTime,
+ reader,
+ 0
+ );
+ }
+
FileCreatedTime = ProcessExtendedTimeV4(extendedFlags, null, reader, 1);
FileLastAccessedTime = ProcessExtendedTimeV4(extendedFlags, null, reader, 2);
FileArchivedTime = ProcessExtendedTimeV4(extendedFlags, null, reader, 3);
@@ -377,7 +382,7 @@ internal class FileHeader : RarHeader
var dosTime = reader.ReadUInt32();
time = Utility.DosDateToDateTime(dosTime);
}
- if ((rmode & 4) == 0)
+ if ((rmode & 4) == 0 && time is not null)
{
time = time.Value.AddSeconds(1);
}
@@ -390,7 +395,11 @@ internal class FileHeader : RarHeader
}
//10^-7 to 10^-3
- return time.Value.AddMilliseconds(nanosecondHundreds * Math.Pow(10, -4));
+ if (time is not null)
+ {
+ return time.Value.AddMilliseconds(nanosecondHundreds * Math.Pow(10, -4));
+ }
+ return null;
}
private static string ConvertPathV4(string path)
@@ -406,13 +415,13 @@ internal class FileHeader : RarHeader
return path;
}
- public override string ToString() => FileName;
+ public override string ToString() => FileName ?? "FileHeader";
private ushort Flags { get; set; }
private bool HasFlag(ushort flag) => (Flags & flag) == flag;
- internal byte[] FileCrc
+ internal byte[]? FileCrc
{
get => _hash;
private set => _hash = value;
@@ -441,22 +450,22 @@ internal class FileHeader : RarHeader
public bool IsRedir => RedirType != 0;
public byte RedirFlags { get; private set; }
public bool IsRedirDirectory => (RedirFlags & RedirFlagV5.DIRECTORY) != 0;
- public string RedirTargetName { get; private set; }
+ public string? RedirTargetName { get; private set; }
// unused for UnpackV1 implementation (limitation)
internal size_t WindowSize { get; private set; }
- internal byte[] R4Salt { get; private set; }
- internal Rar5CryptoInfo Rar5CryptoInfo { get; private set; }
+ internal byte[]? R4Salt { get; private set; }
+ internal Rar5CryptoInfo? Rar5CryptoInfo { get; private set; }
private byte HostOs { get; set; }
internal uint FileAttributes { get; private set; }
internal long CompressedSize { get; private set; }
internal long UncompressedSize { get; private set; }
- internal string FileName { get; private set; }
- internal byte[] SubData { get; private set; }
+ internal string? FileName { get; private set; }
+ internal byte[]? SubData { get; private set; }
internal int RecoverySectors { get; private set; }
internal long DataStartPosition { get; set; }
- public Stream PackedStream { get; set; }
+ public Stream? PackedStream { get; set; }
public bool IsSplitBefore =>
IsRar5 ? HasHeaderFlag(HeaderFlagsV5.SPLIT_BEFORE) : HasFlag(FileFlagsV4.SPLIT_BEFORE);
diff --git a/src/SharpCompress/Common/Rar/Headers/RarHeader.cs b/src/SharpCompress/Common/Rar/Headers/RarHeader.cs
index 0d8648e8..2ae1b9f3 100644
--- a/src/SharpCompress/Common/Rar/Headers/RarHeader.cs
+++ b/src/SharpCompress/Common/Rar/Headers/RarHeader.cs
@@ -1,5 +1,4 @@
using System;
-using System.IO;
using SharpCompress.IO;
namespace SharpCompress.Common.Rar.Headers;
@@ -21,7 +20,7 @@ internal class RarHeader : IRarHeader
{
return new RarHeader(reader, isRar5, archiveEncoding);
}
- catch (EndOfStreamException)
+ catch (InvalidFormatException)
{
return null;
}
diff --git a/src/SharpCompress/Common/Rar/Headers/RarHeaderFactory.cs b/src/SharpCompress/Common/Rar/Headers/RarHeaderFactory.cs
index 74d68fc7..a702c4d1 100644
--- a/src/SharpCompress/Common/Rar/Headers/RarHeaderFactory.cs
+++ b/src/SharpCompress/Common/Rar/Headers/RarHeaderFactory.cs
@@ -1,7 +1,5 @@
using System.Collections.Generic;
using System.IO;
-using System.Linq;
-using SharpCompress.Common.Rar;
using SharpCompress.IO;
using SharpCompress.Readers;
@@ -160,10 +158,10 @@ public class RarHeaderFactory
{
fh.PackedStream = new RarCryptoWrapper(
ms,
- fh.R4Salt is null ? fh.Rar5CryptoInfo.Salt : fh.R4Salt,
+ fh.R4Salt is null ? fh.Rar5CryptoInfo.NotNull().Salt : fh.R4Salt,
fh.R4Salt is null
- ? new CryptKey5(Options.Password!, fh.Rar5CryptoInfo)
- : new CryptKey3(Options.Password!)
+ ? new CryptKey5(Options.Password, fh.Rar5CryptoInfo.NotNull())
+ : new CryptKey3(Options.Password)
);
}
}
diff --git a/src/SharpCompress/Common/Rar/RarEntry.cs b/src/SharpCompress/Common/Rar/RarEntry.cs
index a064c2f8..c76c72b6 100644
--- a/src/SharpCompress/Common/Rar/RarEntry.cs
+++ b/src/SharpCompress/Common/Rar/RarEntry.cs
@@ -20,7 +20,7 @@ public abstract class RarEntry : Entry
///
/// The File's 32 bit CRC Hash
///
- public override long Crc => BitConverter.ToUInt32(FileHeader.FileCrc, 0);
+ public override long Crc => BitConverter.ToUInt32(FileHeader.FileCrc.NotNull(), 0);
///
/// The path of the file internal to the Rar Archive.
@@ -68,7 +68,7 @@ public abstract class RarEntry : Entry
public bool IsRedir => FileHeader.IsRedir;
- public string RedirTargetName => FileHeader.RedirTargetName;
+ public string? RedirTargetName => FileHeader.RedirTargetName;
public override string ToString() =>
string.Format(
diff --git a/src/SharpCompress/Common/Rar/RarVolume.cs b/src/SharpCompress/Common/Rar/RarVolume.cs
index f3d55393..274ac0a2 100644
--- a/src/SharpCompress/Common/Rar/RarVolume.cs
+++ b/src/SharpCompress/Common/Rar/RarVolume.cs
@@ -63,7 +63,7 @@ public abstract class RarVolume : Volume
{
var part = CreateFilePart(lastMarkHeader!, fh);
var buffer = new byte[fh.CompressedSize];
- part.GetCompressedStream().Read(buffer, 0, buffer.Length);
+ part.GetCompressedStream().NotNull().Read(buffer, 0, buffer.Length);
Comment = Encoding.UTF8.GetString(buffer, 0, buffer.Length - 1);
}
}
diff --git a/src/SharpCompress/Common/SevenZip/SevenZipFilePart.cs b/src/SharpCompress/Common/SevenZip/SevenZipFilePart.cs
index ac355828..31c4a24b 100644
--- a/src/SharpCompress/Common/SevenZip/SevenZipFilePart.cs
+++ b/src/SharpCompress/Common/SevenZip/SevenZipFilePart.cs
@@ -1,4 +1,3 @@
-using System;
using System.IO;
using System.Linq;
using SharpCompress.IO;
diff --git a/src/SharpCompress/Common/Zip/StreamingZipFilePart.cs b/src/SharpCompress/Common/Zip/StreamingZipFilePart.cs
index 97e44b6b..a3fa3caa 100644
--- a/src/SharpCompress/Common/Zip/StreamingZipFilePart.cs
+++ b/src/SharpCompress/Common/Zip/StreamingZipFilePart.cs
@@ -1,5 +1,4 @@
using System.IO;
-using System.Net.Sockets;
using SharpCompress.Common.Zip.Headers;
using SharpCompress.Compressors.Deflate;
using SharpCompress.IO;
diff --git a/src/SharpCompress/Compressors/Deflate/Zlib.cs b/src/SharpCompress/Compressors/Deflate/Zlib.cs
index b395029e..1358e01b 100644
--- a/src/SharpCompress/Compressors/Deflate/Zlib.cs
+++ b/src/SharpCompress/Compressors/Deflate/Zlib.cs
@@ -62,7 +62,6 @@
//
// -----------------------------------------------------------------------
-using System;
using System.IO;
using SharpCompress.Common;
diff --git a/src/SharpCompress/Compressors/Deflate64/HuffmanTree.cs b/src/SharpCompress/Compressors/Deflate64/HuffmanTree.cs
index 4c9e7e8b..aac88b05 100644
--- a/src/SharpCompress/Compressors/Deflate64/HuffmanTree.cs
+++ b/src/SharpCompress/Compressors/Deflate64/HuffmanTree.cs
@@ -4,7 +4,6 @@
using System;
using System.Diagnostics;
-using System.IO;
using SharpCompress.Common;
namespace SharpCompress.Compressors.Deflate64;
diff --git a/src/SharpCompress/Compressors/Deflate64/InflaterManaged.cs b/src/SharpCompress/Compressors/Deflate64/InflaterManaged.cs
index 2e4d8377..101188db 100644
--- a/src/SharpCompress/Compressors/Deflate64/InflaterManaged.cs
+++ b/src/SharpCompress/Compressors/Deflate64/InflaterManaged.cs
@@ -30,7 +30,6 @@
using System;
using System.Diagnostics;
-using System.IO;
using SharpCompress.Compressors.Deflate;
namespace SharpCompress.Compressors.Deflate64;
diff --git a/src/SharpCompress/Compressors/Filters/BranchExecFilter.cs b/src/SharpCompress/Compressors/Filters/BranchExecFilter.cs
index 7f887720..df95c838 100644
--- a/src/SharpCompress/Compressors/Filters/BranchExecFilter.cs
+++ b/src/SharpCompress/Compressors/Filters/BranchExecFilter.cs
@@ -5,7 +5,6 @@
*/
using System;
-using System.IO;
using System.Runtime.CompilerServices;
using SharpCompress.Common;
diff --git a/src/SharpCompress/Compressors/Filters/DeltaFilter.cs b/src/SharpCompress/Compressors/Filters/DeltaFilter.cs
index 85ec9b15..a6954116 100644
--- a/src/SharpCompress/Compressors/Filters/DeltaFilter.cs
+++ b/src/SharpCompress/Compressors/Filters/DeltaFilter.cs
@@ -1,4 +1,3 @@
-using System;
using System.IO;
namespace SharpCompress.Compressors.Filters
diff --git a/src/SharpCompress/Compressors/Rar/RarBLAKE2spStream.cs b/src/SharpCompress/Compressors/Rar/RarBLAKE2spStream.cs
index 7c897176..cf93cffb 100644
--- a/src/SharpCompress/Compressors/Rar/RarBLAKE2spStream.cs
+++ b/src/SharpCompress/Compressors/Rar/RarBLAKE2spStream.cs
@@ -1,7 +1,6 @@
using System;
using System.IO;
using System.Linq;
-using System.Runtime.CompilerServices;
using SharpCompress.Common;
using SharpCompress.Common.Rar.Headers;
@@ -93,7 +92,7 @@ internal class RarBLAKE2spStream : RarStream
{
this.readStream = readStream;
disableCRCCheck = fileHeader.IsEncrypted;
- _hash = fileHeader.FileCrc;
+ _hash = fileHeader.FileCrc.NotNull();
_blake2sp = new BLAKE2SP();
ResetCrc();
}
diff --git a/src/SharpCompress/Compressors/Rar/UnpackV2017/Unpack.unpack50_cpp.cs b/src/SharpCompress/Compressors/Rar/UnpackV2017/Unpack.unpack50_cpp.cs
index 143e3d31..2ba0d80c 100644
--- a/src/SharpCompress/Compressors/Rar/UnpackV2017/Unpack.unpack50_cpp.cs
+++ b/src/SharpCompress/Compressors/Rar/UnpackV2017/Unpack.unpack50_cpp.cs
@@ -3,7 +3,6 @@
using System;
using static SharpCompress.Compressors.Rar.UnpackV2017.PackDef;
using static SharpCompress.Compressors.Rar.UnpackV2017.UnpackGlobal;
-using int64 = System.Int64;
#if !Rar2017_64bit
using size_t = System.UInt32;
#else
diff --git a/src/SharpCompress/Compressors/Shrink/BitStream.cs b/src/SharpCompress/Compressors/Shrink/BitStream.cs
index 949ee6c3..9dc534e0 100644
--- a/src/SharpCompress/Compressors/Shrink/BitStream.cs
+++ b/src/SharpCompress/Compressors/Shrink/BitStream.cs
@@ -1,9 +1,3 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
namespace SharpCompress.Compressors.Shrink
{
internal class BitStream
diff --git a/src/SharpCompress/Compressors/Shrink/ShrinkStream.cs b/src/SharpCompress/Compressors/Shrink/ShrinkStream.cs
index 65b2eb37..258f2c42 100644
--- a/src/SharpCompress/Compressors/Shrink/ShrinkStream.cs
+++ b/src/SharpCompress/Compressors/Shrink/ShrinkStream.cs
@@ -1,9 +1,5 @@
using System;
-using System.Collections.Generic;
using System.IO;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
namespace SharpCompress.Compressors.Shrink;
diff --git a/src/SharpCompress/IO/DataDescriptorStream.cs b/src/SharpCompress/IO/DataDescriptorStream.cs
index 1802556c..801f9fa7 100644
--- a/src/SharpCompress/IO/DataDescriptorStream.cs
+++ b/src/SharpCompress/IO/DataDescriptorStream.cs
@@ -1,6 +1,5 @@
using System;
using System.IO;
-using System.Runtime.CompilerServices;
namespace SharpCompress.IO;
diff --git a/src/SharpCompress/NotNullExtensions.cs b/src/SharpCompress/NotNullExtensions.cs
index 88e95c41..c8ae4762 100644
--- a/src/SharpCompress/NotNullExtensions.cs
+++ b/src/SharpCompress/NotNullExtensions.cs
@@ -8,9 +8,10 @@ namespace SharpCompress;
public static class NotNullExtensions
{
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
public static IEnumerable Empty(this IEnumerable? source) =>
source ?? Enumerable.Empty();
-
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
public static IEnumerable Empty(this T? source)
{
if (source is null)
@@ -21,6 +22,7 @@ public static class NotNullExtensions
}
#if NETFRAMEWORK || NETSTANDARD
+[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static T NotNull(this T? obj, string? message = null)
where T : class
{
@@ -31,6 +33,7 @@ public static class NotNullExtensions
return obj;
}
+[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static T NotNull(this T? obj, string? message = null)
where T : struct
{
@@ -42,6 +45,7 @@ public static class NotNullExtensions
}
#else
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
public static T NotNull(
[NotNull] this T? obj,
[CallerArgumentExpression(nameof(obj))] string? paramName = null
@@ -52,6 +56,7 @@ public static class NotNullExtensions
return obj;
}
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
public static T NotNull(
[NotNull] this T? obj,
[CallerArgumentExpression(nameof(obj))] string? paramName = null
diff --git a/src/SharpCompress/Readers/AbstractReader.cs b/src/SharpCompress/Readers/AbstractReader.cs
index b36acd53..c99c3966 100644
--- a/src/SharpCompress/Readers/AbstractReader.cs
+++ b/src/SharpCompress/Readers/AbstractReader.cs
@@ -192,7 +192,7 @@ public abstract class AbstractReader : IReader, IReaderExtracti
///
/// Retains a reference to the entry stream, so we can check whether it completed later.
///
- protected EntryStream CreateEntryStream(Stream decompressed) => new(this, decompressed);
+ protected EntryStream CreateEntryStream(Stream? decompressed) => new(this, decompressed.NotNull());
protected virtual EntryStream GetEntryStream() =>
CreateEntryStream(Entry.Parts.First().GetCompressedStream());
diff --git a/src/SharpCompress/Readers/Rar/NonSeekableStreamFilePart.cs b/src/SharpCompress/Readers/Rar/NonSeekableStreamFilePart.cs
index 3a43e60c..94ee6bf2 100644
--- a/src/SharpCompress/Readers/Rar/NonSeekableStreamFilePart.cs
+++ b/src/SharpCompress/Readers/Rar/NonSeekableStreamFilePart.cs
@@ -9,7 +9,7 @@ internal class NonSeekableStreamFilePart : RarFilePart
internal NonSeekableStreamFilePart(MarkHeader mh, FileHeader fh, int index = 0)
: base(mh, fh, index) { }
- internal override Stream GetCompressedStream() => FileHeader.PackedStream;
+ internal override Stream? GetCompressedStream() => FileHeader.PackedStream;
internal override Stream? GetRawStream() => FileHeader.PackedStream;
diff --git a/src/SharpCompress/Readers/Rar/RarReader.cs b/src/SharpCompress/Readers/Rar/RarReader.cs
index 2398cfac..245001e3 100644
--- a/src/SharpCompress/Readers/Rar/RarReader.cs
+++ b/src/SharpCompress/Readers/Rar/RarReader.cs
@@ -78,7 +78,7 @@ public abstract class RarReader : AbstractReader
return CreateEntryStream(new RarCrcStream(UnpackV1.Value, Entry.FileHeader, stream));
}
- if (Entry.FileHeader.FileCrc.Length > 5)
+ if (Entry.FileHeader.FileCrc?.Length > 5)
{
return CreateEntryStream(
new RarBLAKE2spStream(UnpackV2017.Value, Entry.FileHeader, stream)
diff --git a/src/SharpCompress/Readers/ReaderFactory.cs b/src/SharpCompress/Readers/ReaderFactory.cs
index d56e30c1..de085d92 100644
--- a/src/SharpCompress/Readers/ReaderFactory.cs
+++ b/src/SharpCompress/Readers/ReaderFactory.cs
@@ -1,4 +1,3 @@
-using System;
using System.IO;
using System.Linq;
using SharpCompress.Common;
diff --git a/tests/SharpCompress.Test/GZip/GZipArchiveTests.cs b/tests/SharpCompress.Test/GZip/GZipArchiveTests.cs
index 80a9a9a1..56b5cd2b 100644
--- a/tests/SharpCompress.Test/GZip/GZipArchiveTests.cs
+++ b/tests/SharpCompress.Test/GZip/GZipArchiveTests.cs
@@ -1,9 +1,9 @@
-using System;
using System.IO;
using System.Linq;
using SharpCompress.Archives;
using SharpCompress.Archives.GZip;
using SharpCompress.Archives.Tar;
+using SharpCompress.Common;
using Xunit;
namespace SharpCompress.Test.GZip;
@@ -62,7 +62,7 @@ public class GZipArchiveTests : ArchiveTests
var jpg = Path.Combine(ORIGINAL_FILES_PATH, "jpg", "test.jpg");
using Stream stream = File.OpenRead(Path.Combine(TEST_ARCHIVES_PATH, "Tar.tar.gz"));
using var archive = GZipArchive.Open(stream);
- Assert.Throws(() => archive.AddEntry("jpg\\test.jpg", jpg));
+ Assert.Throws(() => archive.AddEntry("jpg\\test.jpg", jpg));
archive.SaveTo(Path.Combine(SCRATCH_FILES_PATH, "Tar.tar.gz"));
}
diff --git a/tests/SharpCompress.Test/Xz/Filters/BCJTests.cs b/tests/SharpCompress.Test/Xz/Filters/BCJTests.cs
index 9dbdf348..a53565b7 100644
--- a/tests/SharpCompress.Test/Xz/Filters/BCJTests.cs
+++ b/tests/SharpCompress.Test/Xz/Filters/BCJTests.cs
@@ -3,7 +3,6 @@
*
*/
-using System.IO;
using SharpCompress.Common;
using SharpCompress.Compressors.Xz.Filters;
using Xunit;
diff --git a/tests/SharpCompress.Test/Xz/Filters/Lzma2Tests.cs b/tests/SharpCompress.Test/Xz/Filters/Lzma2Tests.cs
index 133332c9..12db0746 100644
--- a/tests/SharpCompress.Test/Xz/Filters/Lzma2Tests.cs
+++ b/tests/SharpCompress.Test/Xz/Filters/Lzma2Tests.cs
@@ -1,5 +1,4 @@
using System;
-using System.IO;
using SharpCompress.Common;
using SharpCompress.Compressors.Xz.Filters;
using Xunit;