X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=crypto%2Faes%2Faes_cbc.c;h=1222a21002c1add66fcfbf5fe57c84475838102b;hb=33c3ecf741942be48faf701edc7893857d276b75;hp=01e965a532211b2cdfe09f161b179f129d1a3aca;hpb=c8632017805c9868b6bcead6d3c4f0d91453ed63;p=oweals%2Fopenssl.git diff --git a/crypto/aes/aes_cbc.c b/crypto/aes/aes_cbc.c index 01e965a532..1222a21002 100644 --- a/crypto/aes/aes_cbc.c +++ b/crypto/aes/aes_cbc.c @@ -86,7 +86,7 @@ void AES_cbc_encrypt(const unsigned char *in, unsigned char *out, for(n=len; n < AES_BLOCK_SIZE; ++n) tmp[n] = ivec[n]; AES_encrypt(tmp, tmp, key); - memcpy(out, tmp, len); + memcpy(out, tmp, AES_BLOCK_SIZE); memcpy(ivec, tmp, AES_BLOCK_SIZE); } } else { @@ -104,7 +104,7 @@ void AES_cbc_encrypt(const unsigned char *in, unsigned char *out, memcpy(tmp, in, AES_BLOCK_SIZE); AES_decrypt(tmp, tmp, key); for(n=0; n < len; ++n) - out[n] ^= ivec[n]; + out[n] = tmp[n] ^ ivec[n]; memcpy(ivec, tmp, AES_BLOCK_SIZE); } }