mirror of
https://github.com/openssl/openssl.git
synced 2024-12-03 05:41:46 +08:00
Fix some bugs with the cfb1 bitsize handling
Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/5426)
This commit is contained in:
parent
e42809f808
commit
604e591ed7
@ -2510,6 +2510,8 @@ static int aes_cfb1_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
|
||||
EVP_CIPHER_CTX_encrypting(ctx), dat->block);
|
||||
EVP_CIPHER_CTX_set_num(ctx, num);
|
||||
len -= MAXBITCHUNK;
|
||||
out += MAXBITCHUNK;
|
||||
in += MAXBITCHUNK;
|
||||
}
|
||||
if (len) {
|
||||
int num = EVP_CIPHER_CTX_num(ctx);
|
||||
|
@ -325,8 +325,10 @@ static int camellia_cfb1_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
|
||||
int num = EVP_CIPHER_CTX_num(ctx);
|
||||
CRYPTO_cfb128_1_encrypt(in, out, MAXBITCHUNK * 8, &dat->ks,
|
||||
EVP_CIPHER_CTX_iv_noconst(ctx), &num, EVP_CIPHER_CTX_encrypting(ctx), dat->block);
|
||||
len -= MAXBITCHUNK;
|
||||
EVP_CIPHER_CTX_set_num(ctx, num);
|
||||
len -= MAXBITCHUNK;
|
||||
out += MAXBITCHUNK;
|
||||
in += MAXBITCHUNK;
|
||||
}
|
||||
if (len) {
|
||||
int num = EVP_CIPHER_CTX_num(ctx);
|
||||
|
@ -214,7 +214,7 @@ static int cname##_cfb##cbits##_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
|
||||
cprefix##_cfb##cbits##_encrypt(in, out, (long) \
|
||||
((cbits == 1) \
|
||||
&& !EVP_CIPHER_CTX_test_flags(ctx, EVP_CIPH_FLAG_LENGTH_BITS) \
|
||||
? inl*8 : inl), \
|
||||
? chunk*8 : chunk), \
|
||||
&EVP_C_DATA(kstruct, ctx)->ksched, EVP_CIPHER_CTX_iv_noconst(ctx),\
|
||||
&num, EVP_CIPHER_CTX_encrypting(ctx));\
|
||||
EVP_CIPHER_CTX_set_num(ctx, num);\
|
||||
|
Loading…
Reference in New Issue
Block a user