Change the pkey.ptr from char * to void *
authortb <tb@openbsd.org>
Fri, 18 Nov 2022 14:45:10 +0000 (14:45 +0000)
committertb <tb@openbsd.org>
Fri, 18 Nov 2022 14:45:10 +0000 (14:45 +0000)
Now that EVP_PKEY is opaque, there is no reason to keep the ptr member
of the pkey union as a weird char pointer, a void pointer will do. This
avoids a few stupid casts and simplifies an upcoming diff.

ok jsing

lib/libcrypto/cmac/cm_ameth.c
lib/libcrypto/cmac/cm_pmeth.c
lib/libcrypto/evp/evp_locl.h
lib/libcrypto/evp/p_lib.c
lib/libcrypto/hmac/hm_ameth.c
lib/libcrypto/hmac/hm_pmeth.c

index 2695646..1bc2008 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: cm_ameth.c,v 1.8 2021/12/12 21:30:13 tb Exp $ */
+/* $OpenBSD: cm_ameth.c,v 1.9 2022/11/18 14:45:10 tb Exp $ */
 /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
  * project 2010.
  */
@@ -73,9 +73,7 @@ cmac_size(const EVP_PKEY *pkey)
 static void
 cmac_key_free(EVP_PKEY *pkey)
 {
-       CMAC_CTX *cmctx = (CMAC_CTX *)pkey->pkey.ptr;
-
-       CMAC_CTX_free(cmctx);
+       CMAC_CTX_free(pkey->pkey.ptr);
 }
 
 const EVP_PKEY_ASN1_METHOD cmac_asn1_meth = {
index d9059ca..91f7e34 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: cm_pmeth.c,v 1.8 2014/07/11 08:44:48 jsing Exp $ */
+/* $OpenBSD: cm_pmeth.c,v 1.9 2022/11/18 14:45:10 tb Exp $ */
 /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
  * project 2010.
  */
@@ -148,8 +148,7 @@ pkey_cmac_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2)
                break;
 
        case EVP_PKEY_CTRL_MD:
-               if (ctx->pkey && !CMAC_CTX_copy(ctx->data,
-                   (CMAC_CTX *)ctx->pkey->pkey.ptr))
+               if (ctx->pkey && !CMAC_CTX_copy(ctx->data, ctx->pkey->pkey.ptr))
                        return 0;
                if (!CMAC_Init(cmctx, NULL, 0, NULL, NULL))
                        return 0;
index 37fc55e..2bfcc64 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: evp_locl.h,v 1.30 2022/11/10 16:37:52 jsing Exp $ */
+/* $OpenBSD: evp_locl.h,v 1.31 2022/11/18 14:45:10 tb Exp $ */
 /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
  * project 2000.
  */
@@ -93,7 +93,7 @@ struct evp_pkey_st {
        const EVP_PKEY_ASN1_METHOD *ameth;
        ENGINE *engine;
        union   {
-               char *ptr;
+               void *ptr;
 #ifndef OPENSSL_NO_RSA
                struct rsa_st *rsa;     /* RSA */
 #endif
index 2e0830b..ec3949b 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: p_lib.c,v 1.30 2022/11/10 14:46:44 jsing Exp $ */
+/* $OpenBSD: p_lib.c,v 1.31 2022/11/18 14:45:10 tb Exp $ */
 /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
  * All rights reserved.
  *
@@ -388,7 +388,7 @@ EVP_PKEY_new_CMAC_key(ENGINE *e, const unsigned char *priv, size_t len,
                goto err;
        }
 
-       ret->pkey.ptr = (char *)cmctx;
+       ret->pkey.ptr = cmctx;
 
        return ret;
 
index 84bb5f0..86e42bd 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: hm_ameth.c,v 1.12 2021/12/12 21:30:14 tb Exp $ */
+/* $OpenBSD: hm_ameth.c,v 1.13 2022/11/18 14:45:10 tb Exp $ */
 /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
  * project 2007.
  */
@@ -82,7 +82,7 @@ hmac_size(const EVP_PKEY *pkey)
 static void
 hmac_key_free(EVP_PKEY *pkey)
 {
-       ASN1_OCTET_STRING *os = (ASN1_OCTET_STRING *)pkey->pkey.ptr;
+       ASN1_OCTET_STRING *os = pkey->pkey.ptr;
 
        if (os) {
                if (os->data)
@@ -132,7 +132,7 @@ static int
 old_hmac_encode(const EVP_PKEY *pkey, unsigned char **pder)
 {
        int inc;
-       ASN1_OCTET_STRING *os = (ASN1_OCTET_STRING *)pkey->pkey.ptr;
+       ASN1_OCTET_STRING *os = pkey->pkey.ptr;
 
        if (pder) {
                if (!*pder) {
index 4017f57..3ba5b47 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: hm_pmeth.c,v 1.13 2022/03/30 07:17:48 tb Exp $ */
+/* $OpenBSD: hm_pmeth.c,v 1.14 2022/11/18 14:45:10 tb Exp $ */
 /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
  * project 2007.
  */
@@ -202,7 +202,7 @@ pkey_hmac_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2)
                break;
 
        case EVP_PKEY_CTRL_DIGESTINIT:
-               key = (ASN1_OCTET_STRING *)ctx->pkey->pkey.ptr;
+               key = ctx->pkey->pkey.ptr;
                if (!HMAC_Init_ex(&hctx->ctx, key->data, key->length, hctx->md,
                    ctx->engine))
                        return 0;