From f27fd35fa97b16fe755ea41c0fc190bf0cb957db Mon Sep 17 00:00:00 2001 From: Timofey Solomko Date: Sun, 2 Jul 2017 13:59:11 +0300 Subject: [PATCH] Fixed checks for encryption. --- Sources/ZipContainer.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Sources/ZipContainer.swift b/Sources/ZipContainer.swift index d85587d9..34a15b37 100644 --- a/Sources/ZipContainer.swift +++ b/Sources/ZipContainer.swift @@ -372,8 +372,8 @@ struct LocalHeader { // Let's check headers's values for consistency. guard self.versionNeeded & 0xFF <= 63 else { throw ZipError.wrongVersion } - guard self.generalPurposeBitFlags & 0x2000 == 0 || - self.generalPurposeBitFlags & 0x40 == 0 || + guard self.generalPurposeBitFlags & 0x2000 == 0 && + self.generalPurposeBitFlags & 0x40 == 0 && self.generalPurposeBitFlags & 0x01 == 0 else { throw ZipError.encryptionNotSupported } guard self.generalPurposeBitFlags & 0x20 == 0 @@ -476,8 +476,8 @@ struct CentralDirectoryEntry { else { throw ZipError.wrongVersion } guard self.diskNumberStart == currentDiskNumber else { throw ZipError.multiVolumesNotSupported } - guard self.generalPurposeBitFlags & 0x2000 == 0 || - self.generalPurposeBitFlags & 0x40 == 0 || + guard self.generalPurposeBitFlags & 0x2000 == 0 && + self.generalPurposeBitFlags & 0x40 == 0 && self.generalPurposeBitFlags & 0x01 == 0 else { throw ZipError.encryptionNotSupported } guard self.generalPurposeBitFlags & 0x20 == 0