提交 ef055ec5 编写于 作者: M Matt Caswell

Adjust in and in_len instead of donelen

Don't use the temp variable donelen in the non-aad fragmented code path.
Reviewed-by: NRich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/2275)
上级 7141ba31
......@@ -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;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册