From ddcc45ebf0d45dd224e7681a526b939c2a1f3a8d Mon Sep 17 00:00:00 2001 From: Con Kolivas Date: Wed, 16 Mar 2011 10:00:20 +1100 Subject: [PATCH] Revert "aes_crypt_cbc always returns zero so ignore its return value." This reverts commit 4314970b0d6f2b3f62316dea3be4c1d278da5960. Oops, it can return invalid length. --- stream.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/stream.c b/stream.c index 46c86b1..cad1176 100644 --- a/stream.c +++ b/stream.c @@ -1180,8 +1180,9 @@ retry: if (encrypt_pad) get_rand(cti->s_buf + cti->c_len, encrypt_pad); print_maxverbose("Encrypting block \n"); - aes_crypt_cbc(&control->aes_ctx, AES_ENCRYPT, padded_len, - control->hash_iv, cti->s_buf, cti->s_buf); + if (unlikely(aes_crypt_cbc(&control->aes_ctx, AES_ENCRYPT, + padded_len, control->hash_iv, cti->s_buf, cti->s_buf))) + failure("Failed to aes_crypt_cbc in compthread\n"); } else padded_len = cti->c_len; @@ -1439,8 +1440,9 @@ fill_another: if (ENCRYPT) { print_maxverbose("Decrypting block \n"); - aes_crypt_cbc(&control->aes_ctx, AES_DECRYPT, padded_len, - control->hash_iv, s_buf, s_buf); + if (unlikely(aes_crypt_cbc(&control->aes_ctx, AES_DECRYPT, + padded_len, control->hash_iv, s_buf, s_buf))) + failure("Failed to aes_crypt_cbc in fill_buffer\n"); } ucthread[s->uthread_no].s_buf = s_buf;