]> git.proxmox.com Git - mirror_edk2.git/blobdiff - CryptoPkg/Library/BaseCryptLib/Cipher/CryptTdes.c
Fix several issues in BaseCryptLib:
[mirror_edk2.git] / CryptoPkg / Library / BaseCryptLib / Cipher / CryptTdes.c
index f3a1eb7293de8da7c88a5abf16463ad6e46f7d29..f89094a58117b96e02f2ad0dc6abbb1670ba142f 100644 (file)
@@ -275,7 +275,11 @@ TdesCbcEncrypt (
   //\r
   // Check input parameters.\r
   //\r
-  if (TdesContext == NULL || Input == NULL || (InputSize % TDES_BLOCK_SIZE) != 0 || Ivec == NULL || Output == NULL) {\r
+  if (TdesContext == NULL || Input == NULL || (InputSize % TDES_BLOCK_SIZE) != 0) {\r
+    return FALSE;\r
+  }\r
+\r
+  if (Ivec == NULL || Output == NULL || InputSize > INT_MAX) {\r
     return FALSE;\r
   }\r
 \r
@@ -339,7 +343,11 @@ TdesCbcDecrypt (
   //\r
   // Check input parameters.\r
   //\r
-  if (TdesContext == NULL || Input == NULL || (InputSize % TDES_BLOCK_SIZE) != 0 || Ivec == NULL || Output == NULL) {\r
+  if (TdesContext == NULL || Input == NULL || (InputSize % TDES_BLOCK_SIZE) != 0) {\r
+    return FALSE;\r
+  }\r
+\r
+  if (Ivec == NULL || Output == NULL || InputSize > INT_MAX) {\r
     return FALSE;\r
   }\r
 \r