Make *Final work for key wrap again.
[openssl.git] / crypto / evp / e_aes.c
index ce300440a89cda699b47d263bb9952946542ae92..3501066b077f31654bcf91e57c60a4a61c997404 100644 (file)
@@ -2097,6 +2097,8 @@ static int aes_wrap_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
        {
        EVP_AES_WRAP_CTX *wctx = ctx->cipher_data;
        size_t rv;
+       if (!in)
+               return 0;
        if (inlen % 8)
                return -1;
        if (ctx->encrypt && inlen < 8)
@@ -2110,8 +2112,6 @@ static int aes_wrap_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
                else
                        return inlen - 8;
                }
-       if (!in)
-               return 0;
        if (ctx->encrypt)
                rv = CRYPTO_128_wrap(&wctx->ks.ks, wctx->iv, out, in, inlen,
                                                (block128_f)AES_encrypt);