From 1b84e3c7c2e55b1ff9ffdd09b66873e11c131441 Mon Sep 17 00:00:00 2001 From: vnugent Date: Sat, 2 Mar 2024 22:57:36 -0500 Subject: fix: #2 constent usage of sizeof() operator on struct types --- src/noscrypt.c | 12 ++++++------ src/noscrypt.h | 10 ++++++++++ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/noscrypt.c b/src/noscrypt.c index 358da27..7cb9b69 100644 --- a/src/noscrypt.c +++ b/src/noscrypt.c @@ -491,8 +491,8 @@ NC_EXPORT NCResult NC_CC NCGetPublicKey( DEBUG_ASSERT2(result == 1, "Expected x-only pubkey serialize to return 1") //Clean out keypair - ZERO_FILL(&keyPair, sizeof(secp256k1_keypair)); - ZERO_FILL(&xonly, sizeof(secp256k1_xonly_pubkey)); + ZERO_FILL(&keyPair, sizeof(keyPair)); + ZERO_FILL(&xonly, sizeof(xonly)); return NC_SUCCESS; } @@ -550,8 +550,8 @@ NC_EXPORT NCResult NC_CC NCSignDigest( result = secp256k1_schnorrsig_verify(ctx->secpCtx, sig64, digest32, 32, &xonly); //cleanup any sensitive data - ZERO_FILL(&keyPair, sizeof(secp256k1_keypair)); - ZERO_FILL(&xonly, sizeof(secp256k1_xonly_pubkey)); + ZERO_FILL(&keyPair, sizeof(keyPair)); + ZERO_FILL(&xonly, sizeof(xonly)); return result == 1 ? NC_SUCCESS : E_INVALID_ARG; } @@ -611,7 +611,7 @@ NC_EXPORT NCResult NC_CC NCVerifyDigest( result = secp256k1_schnorrsig_verify(ctx->secpCtx, sig64, digest32, 32, &xonly); //cleanup any sensitive data - ZERO_FILL(&xonly, sizeof(secp256k1_xonly_pubkey)); + ZERO_FILL(&xonly, sizeof(xonly)); return result == 1 ? NC_SUCCESS : E_INVALID_ARG; } @@ -908,8 +908,8 @@ NC_EXPORT NCResult NC_CC NCVerifyMacEx( { NCResult result; const mbedtls_md_info_t* sha256Info; - struct message_key messageKey; const struct nc_expand_keys* keys; + struct message_key messageKey; uint8_t hmacOut[NC_ENCRYPTION_MAC_SIZE]; CHECK_NULL_ARG(ctx, 0) diff --git a/src/noscrypt.h b/src/noscrypt.h index 983206c..677843f 100644 --- a/src/noscrypt.h +++ b/src/noscrypt.h @@ -193,11 +193,21 @@ typedef struct nc_mac_verify { API FUNCTIONS */ +/* +* A helper function to cast a 32byte buffer to a NCSecretKey struct +* @param key The 32byte buffer to cast +* @return A pointer to the NCSecretKey struct +*/ static inline NCSecretKey* NCToSecKey(uint8_t key[NC_SEC_KEY_SIZE]) { return (NCSecretKey*)key; } +/* +* A helper function to cast a 32byte buffer to a NCPublicKey struct +* @param key The 32byte buffer to cast +* @return A pointer to the NCPublicKey struct +*/ static inline NCPublicKey* NCToPubKey(uint8_t key[NC_PUBKEY_SIZE]) { return (NCPublicKey*)key; -- cgit