From 6a816b175e1b14127ae30df69d96ee2d64b28ed6 Mon Sep 17 00:00:00 2001 From: tb Date: Wed, 1 Mar 2023 11:25:25 +0000 Subject: [PATCH] Make cipher_method_lib.c compile with LibreSSL OPENSSL_zalloc() -> calloc(), OPENSSL_free() -> free() and a few assorted cosmetic tweaks to match our style better. ok jsing --- lib/libcrypto/evp/cipher_method_lib.c | 44 ++++++++++++++++++--------- 1 file changed, 29 insertions(+), 15 deletions(-) diff --git a/lib/libcrypto/evp/cipher_method_lib.c b/lib/libcrypto/evp/cipher_method_lib.c index a0b2830efad..dc370504080 100644 --- a/lib/libcrypto/evp/cipher_method_lib.c +++ b/lib/libcrypto/evp/cipher_method_lib.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cipher_method_lib.c,v 1.6 2023/03/01 11:08:37 tb Exp $ */ +/* $OpenBSD: cipher_method_lib.c,v 1.7 2023/03/01 11:25:25 tb Exp $ */ /* * Written by Richard Levitte (levitte@openssl.org) for the OpenSSL project * 2015. @@ -57,46 +57,52 @@ * */ -#include +#include #include -#include "crypto/evp.h" + #include "evp_local.h" EVP_CIPHER * EVP_CIPHER_meth_new(int cipher_type, int block_size, int key_len) { - EVP_CIPHER *cipher = OPENSSL_zalloc(sizeof(EVP_CIPHER)); + EVP_CIPHER *cipher; + + if ((cipher = calloc(1, sizeof(*cipher))) == NULL) + return NULL; + + cipher->nid = cipher_type; + cipher->block_size = block_size; + cipher->key_len = key_len; - if (cipher != NULL) { - cipher->nid = cipher_type; - cipher->block_size = block_size; - cipher->key_len = key_len; - } return cipher; } EVP_CIPHER * EVP_CIPHER_meth_dup(const EVP_CIPHER *cipher) { - EVP_CIPHER *to = EVP_CIPHER_meth_new(cipher->nid, cipher->block_size, - cipher->key_len); + EVP_CIPHER *copy; + + if ((copy = EVP_CIPHER_meth_new(cipher->nid, cipher->block_size, + cipher->key_len)) == NULL) + return NULL; - if (to != NULL) - memcpy(to, cipher, sizeof(*to)); - return to; + *copy = *cipher; + + return copy; } void EVP_CIPHER_meth_free(EVP_CIPHER *cipher) { - OPENSSL_free(cipher); + free(cipher); } int EVP_CIPHER_meth_set_iv_length(EVP_CIPHER *cipher, int iv_len) { cipher->iv_len = iv_len; + return 1; } @@ -104,6 +110,7 @@ int EVP_CIPHER_meth_set_flags(EVP_CIPHER *cipher, unsigned long flags) { cipher->flags = flags; + return 1; } @@ -111,6 +118,7 @@ int EVP_CIPHER_meth_set_impl_ctx_size(EVP_CIPHER *cipher, int ctx_size) { cipher->ctx_size = ctx_size; + return 1; } @@ -120,6 +128,7 @@ EVP_CIPHER_meth_set_init(EVP_CIPHER *cipher, const unsigned char *iv, int enc)) { cipher->init = init; + return 1; } @@ -129,6 +138,7 @@ EVP_CIPHER_meth_set_do_cipher(EVP_CIPHER *cipher, const unsigned char *in, size_t inl)) { cipher->do_cipher = do_cipher; + return 1; } @@ -137,6 +147,7 @@ EVP_CIPHER_meth_set_cleanup(EVP_CIPHER *cipher, int (*cleanup)(EVP_CIPHER_CTX *)) { cipher->cleanup = cleanup; + return 1; } @@ -145,6 +156,7 @@ EVP_CIPHER_meth_set_set_asn1_params(EVP_CIPHER *cipher, int (*set_asn1_parameters)(EVP_CIPHER_CTX *, ASN1_TYPE *)) { cipher->set_asn1_parameters = set_asn1_parameters; + return 1; } @@ -153,6 +165,7 @@ EVP_CIPHER_meth_set_get_asn1_params(EVP_CIPHER *cipher, int (*get_asn1_parameters)(EVP_CIPHER_CTX *, ASN1_TYPE *)) { cipher->get_asn1_parameters = get_asn1_parameters; + return 1; } @@ -161,5 +174,6 @@ EVP_CIPHER_meth_set_ctrl(EVP_CIPHER *cipher, int (*ctrl)(EVP_CIPHER_CTX *, int type, int arg, void *ptr)) { cipher->ctrl = ctrl; + return 1; } -- 2.20.1