From: Dr. Stephen Henson Date: Mon, 15 Feb 2010 19:40:45 +0000 (+0000) Subject: The "block length" for CFB mode was incorrectly coded as 1 all the time. It X-Git-Tag: OpenSSL_0_9_8m~14 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=1b690c1a8b75b3c160c30c81ef563d0a2a0f7a12;p=oweals%2Fopenssl.git The "block length" for CFB mode was incorrectly coded as 1 all the time. It should be the number of feedback bits expressed in bytes. For CFB1 mode set this to 1 by rounding up to the nearest multiple of 8. --- diff --git a/crypto/evp/evp_locl.h b/crypto/evp/evp_locl.h index ef6c432538..72105b0fe2 100644 --- a/crypto/evp/evp_locl.h +++ b/crypto/evp/evp_locl.h @@ -127,9 +127,9 @@ BLOCK_CIPHER_def1(cname, cbc, cbc, CBC, kstruct, nid, block_size, key_len, \ #define BLOCK_CIPHER_def_cfb(cname, kstruct, nid, key_len, \ iv_len, cbits, flags, init_key, cleanup, \ set_asn1, get_asn1, ctrl) \ -BLOCK_CIPHER_def1(cname, cfb##cbits, cfb##cbits, CFB, kstruct, nid, 1, \ - key_len, iv_len, flags, init_key, cleanup, set_asn1, \ - get_asn1, ctrl) +BLOCK_CIPHER_def1(cname, cfb##cbits, cfb##cbits, CFB, kstruct, nid, \ + (cbits + 7)/8, key_len, iv_len, \ + flags, init_key, cleanup, set_asn1, get_asn1, ctrl) #define BLOCK_CIPHER_def_ofb(cname, kstruct, nid, key_len, \ iv_len, cbits, flags, init_key, cleanup, \