Fix crypt_and_hash decrypt issue when used with stream cipher

crypt_and_hash decryption fails when used with a stream cipher
mode of operation due to the input not being multiple of block
size, this only applies to block cipher modes and not stream
ciphers.This change exempts CTR, CFB & OFB modes from this check.

Signed-off-by: Waleed Elmelegy <waleed.elmelegy@arm.com>
diff --git a/programs/aes/crypt_and_hash.c b/programs/aes/crypt_and_hash.c
index 0187648..9d4b7e0 100644
--- a/programs/aes/crypt_and_hash.c
+++ b/programs/aes/crypt_and_hash.c
@@ -406,6 +406,9 @@
          * Check the file size.
          */
         if (mbedtls_cipher_info_get_mode(cipher_info) != MBEDTLS_MODE_GCM &&
+            mbedtls_cipher_info_get_mode(cipher_info) != MBEDTLS_MODE_CTR &&
+            mbedtls_cipher_info_get_mode(cipher_info) != MBEDTLS_MODE_CFB &&
+            mbedtls_cipher_info_get_mode(cipher_info) != MBEDTLS_MODE_OFB &&
             ((filesize - mbedtls_md_get_size(md_info)) %
              mbedtls_cipher_get_block_size(&cipher_ctx)) != 0) {
             mbedtls_fprintf(stderr, "File content not a multiple of the block size (%u).\n",