Commit ef055ec5 authored by Matt Caswell's avatar Matt Caswell
Browse files

Adjust in and in_len instead of donelen



Don't use the temp variable donelen in the non-aad fragmented code path.

Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/2275)
parent 7141ba31
Loading
Loading
Loading
Loading
+8 −7
Original line number Diff line number Diff line
@@ -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;
        }