Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Sep 2018 07:08:04 +0000 (UTC)
From:      Jung-uk Kim <jkim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r338783 - projects/openssl111/sys/geom/eli
Message-ID:  <201809190708.w8J784vO072073@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jkim
Date: Wed Sep 19 07:08:04 2018
New Revision: 338783
URL: https://svnweb.freebsd.org/changeset/base/338783

Log:
  Make geli(8) buildable.

Modified:
  projects/openssl111/sys/geom/eli/g_eli_crypto.c

Modified: projects/openssl111/sys/geom/eli/g_eli_crypto.c
==============================================================================
--- projects/openssl111/sys/geom/eli/g_eli_crypto.c	Wed Sep 19 07:07:03 2018	(r338782)
+++ projects/openssl111/sys/geom/eli/g_eli_crypto.c	Wed Sep 19 07:08:04 2018	(r338783)
@@ -122,7 +122,7 @@ static int
 g_eli_crypto_cipher(u_int algo, int enc, u_char *data, size_t datasize,
     const u_char *key, size_t keysize)
 {
-	EVP_CIPHER_CTX ctx;
+	EVP_CIPHER_CTX *ctx;
 	const EVP_CIPHER *type;
 	u_char iv[keysize];
 	int outsize;
@@ -175,27 +175,29 @@ g_eli_crypto_cipher(u_int algo, int enc, u_char *data,
 		return (EINVAL);
 	}
 
-	EVP_CIPHER_CTX_init(&ctx);
+	ctx = EVP_CIPHER_CTX_new();
+	if (ctx == NULL)
+		return (ENOMEM);
 
-	EVP_CipherInit_ex(&ctx, type, NULL, NULL, NULL, enc);
-	EVP_CIPHER_CTX_set_key_length(&ctx, keysize / 8);
-	EVP_CIPHER_CTX_set_padding(&ctx, 0);
+	EVP_CipherInit_ex(ctx, type, NULL, NULL, NULL, enc);
+	EVP_CIPHER_CTX_set_key_length(ctx, keysize / 8);
+	EVP_CIPHER_CTX_set_padding(ctx, 0);
 	bzero(iv, sizeof(iv));
-	EVP_CipherInit_ex(&ctx, NULL, NULL, key, iv, enc);
+	EVP_CipherInit_ex(ctx, NULL, NULL, key, iv, enc);
 
-	if (EVP_CipherUpdate(&ctx, data, &outsize, data, datasize) == 0) {
-		EVP_CIPHER_CTX_cleanup(&ctx);
+	if (EVP_CipherUpdate(ctx, data, &outsize, data, datasize) == 0) {
+		EVP_CIPHER_CTX_free(ctx);
 		return (EINVAL);
 	}
 	assert(outsize == (int)datasize);
 
-	if (EVP_CipherFinal_ex(&ctx, data + outsize, &outsize) == 0) {
-		EVP_CIPHER_CTX_cleanup(&ctx);
+	if (EVP_CipherFinal_ex(ctx, data + outsize, &outsize) == 0) {
+		EVP_CIPHER_CTX_free(ctx);
 		return (EINVAL);
 	}
 	assert(outsize == 0);
 
-	EVP_CIPHER_CTX_cleanup(&ctx);
+	EVP_CIPHER_CTX_free(ctx);
 	return (0);
 }
 #endif	/* !_KERNEL */



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201809190708.w8J784vO072073>