From 359b1093bcf674987abde97c3035789646cbccd3 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 12 Feb 2026 15:47:30 +0000 Subject: [PATCH] Add named constants for WinZip AES extra data magic numbers Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com> --- src/SharpCompress/Common/Zip/ZipEntry.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/SharpCompress/Common/Zip/ZipEntry.cs b/src/SharpCompress/Common/Zip/ZipEntry.cs index b9507036..47df7d9e 100644 --- a/src/SharpCompress/Common/Zip/ZipEntry.cs +++ b/src/SharpCompress/Common/Zip/ZipEntry.cs @@ -10,6 +10,10 @@ public class ZipEntry : Entry { private readonly ZipFilePart? _filePart; + // WinZip AES extra data constants + private const int MinimumWinZipAesExtraDataLength = 7; + private const int WinZipAesCompressionMethodOffset = 5; + internal ZipEntry(ZipFilePart? filePart, IReaderOptions readerOptions) : base(readerOptions) { @@ -70,7 +74,7 @@ public class ZipEntry : Entry x.Type == ExtraDataType.WinZipAes ); - if (aesExtraData is null || aesExtraData.DataBytes.Length < 7) + if (aesExtraData is null || aesExtraData.DataBytes.Length < MinimumWinZipAesExtraDataLength) { return ZipCompressionMethod.WinzipAes; } @@ -78,7 +82,7 @@ public class ZipEntry : Entry // The compression method is at offset 5 in the extra data return (ZipCompressionMethod) System.Buffers.Binary.BinaryPrimitives.ReadUInt16LittleEndian( - aesExtraData.DataBytes.AsSpan(5) + aesExtraData.DataBytes.AsSpan(WinZipAesCompressionMethodOffset) ); }