From ef055ec536a3c6e698dd9f45b41d57a32366b4fa Mon Sep 17 00:00:00 2001 From: Matt Caswell Date: Wed, 25 Jan 2017 09:26:35 +0000 Subject: [PATCH] Adjust in and in_len instead of donelen Don't use the temp variable donelen in the non-aad fragmented code path. Reviewed-by: Rich Salz (Merged from https://github.com/openssl/openssl/pull/2275) --- test/evp_test.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/test/evp_test.c b/test/evp_test.c index f0e8ca35c0..e1a5f14328 100644 --- a/test/evp_test.c +++ b/test/evp_test.c @@ -1012,7 +1012,6 @@ static int cipher_test_enc(struct evp_test *t, int enc, EVP_CIPHER_CTX_set_padding(ctx, 0); err = "CIPHERUPDATE_ERROR"; tmplen = 0; - donelen = 0; if (!frag) { /* We supply the data all in one go */ if (!EVP_CipherUpdate(ctx, tmp + out_misalign, &tmplen, in, in_len)) @@ -1023,18 +1022,20 @@ static int cipher_test_enc(struct evp_test *t, int enc, if (!EVP_CipherUpdate(ctx, tmp + out_misalign, &chunklen, in, 1)) goto err; tmplen += chunklen; - donelen = 1; + in++; + in_len--; } - if (in_len > 2) { + if (in_len > 1) { if (!EVP_CipherUpdate(ctx, tmp + out_misalign + tmplen, &chunklen, - in + donelen, in_len - 2)) + in, in_len - 1)) goto err; tmplen += chunklen; - donelen += in_len - 2; + in += in_len - 1; + in_len = 1; } - if (in_len > 1 ) { + if (in_len > 0 ) { if (!EVP_CipherUpdate(ctx, tmp + out_misalign + tmplen, &chunklen, - in + donelen, 1)) + in, 1)) goto err; tmplen += chunklen; } -- 2.25.1