Forráskód Böngészése

Throw error on decrypt empty input data. Fixes #423

Marcin Krzyżanowski 8 éve
szülő
commit
03bd248615
1 módosított fájl, 6 hozzáadás és 0 törlés
  1. 6 0
      Sources/CryptoSwift/AES.swift

+ 6 - 0
Sources/CryptoSwift/AES.swift

@@ -20,6 +20,8 @@ public final class AES: BlockCipher {
         case invalidKeyOrInitializationVector
         /// Invalid IV
         case invalidInitializationVector
+        /// Invalid Data
+        case invalidData
     }
 
     public enum Variant: Int {
@@ -571,6 +573,10 @@ extension AES: Cipher {
 
         var oneTimeCryptor = self.makeDecryptor()
         let chunks = bytes.batched(by: AES.blockSize)
+        if chunks.count == 0 {
+            throw Error.invalidData
+        }
+
         var out = Array<UInt8>()
         out.reserveCapacity(bytes.count)