]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
EVP_CIPHER_CTX_init is deprecated, so avoid it for OpenSSL 1.1+
authorJoerg Sonnenberger <joerg@bec.de>
Tue, 4 Sep 2018 13:34:44 +0000 (15:34 +0200)
committerGrzegorz Antoniak <ga@anadoxin.org>
Sat, 8 Sep 2018 05:22:39 +0000 (07:22 +0200)
libarchive/archive_cryptor.c

index 71967c9d46f026fc531ddea4f98fe29c2bcc323d..302cf712ab7883f47c3089cb068a8ab2bf742f7c 100644 (file)
@@ -316,7 +316,14 @@ aes_ctr_init(archive_crypto_ctx *ctx, const uint8_t *key, size_t key_len)
        memcpy(ctx->key, key, key_len);
        memset(ctx->nonce, 0, sizeof(ctx->nonce));
        ctx->encr_pos = AES_BLOCK_SIZE;
+#if OPENSSL_VERSION_AT_LEAST(1, 1)
+       if (!EVP_CIPHER_CTX_reset(ctx->ctx)) {
+               EVP_CIPHER_CTX_free(ctx->ctx);
+               ctx->ctx = NULL;
+       }
+#else
        EVP_CIPHER_CTX_init(ctx->ctx);
+#endif
        return 0;
 }