From 00ac1f7ec912b83693d442954b131d05492f37e0 Mon Sep 17 00:00:00 2001 From: orignal Date: Mon, 30 Mar 2015 11:56:24 -0400 Subject: [PATCH] check # of block to encrypt/decrypt for zero --- aes.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/aes.cpp b/aes.cpp index d1c9d984..8d270521 100644 --- a/aes.cpp +++ b/aes.cpp @@ -192,7 +192,9 @@ namespace crypto void CBCEncryption::Encrypt (const uint8_t * in, std::size_t len, uint8_t * out) { // len/16 - Encrypt (len >> 4, (const ChipherBlock *)in, (ChipherBlock *)out); + int numBlocks = len >> 4; + if (numBlocks > 0) + Encrypt (numBlocks, (const ChipherBlock *)in, (ChipherBlock *)out); } void CBCEncryption::Encrypt (const uint8_t * in, uint8_t * out) @@ -252,7 +254,9 @@ namespace crypto void CBCDecryption::Decrypt (const uint8_t * in, std::size_t len, uint8_t * out) { - Decrypt (len >> 4, (const ChipherBlock *)in, (ChipherBlock *)out); + int numBlocks = len >> 4; + if (numBlocks > 0) + Decrypt (numBlocks, (const ChipherBlock *)in, (ChipherBlock *)out); } void CBCDecryption::Decrypt (const uint8_t * in, uint8_t * out)