From 3c4d5f2ff5ce5f69fb50ff1c5c15ba52c72395f1 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 17 Aug 2022 11:24:24 +0200 Subject: sha256: change digest buffer type to uint8_t[] This way we can specify a size with "static". All users use uint8_t already, hence this comes at no price. --- src/fundamental/sha256.c | 4 ++-- src/fundamental/sha256.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'src/fundamental') diff --git a/src/fundamental/sha256.c b/src/fundamental/sha256.c index 31d9674d09..7ead5f169c 100644 --- a/src/fundamental/sha256.c +++ b/src/fundamental/sha256.c @@ -104,7 +104,7 @@ void sha256_init_ctx(struct sha256_ctx *ctx) { /* Process the remaining bytes in the internal buffer and the usual prolog according to the standard and write the result to RESBUF. */ -void *sha256_finish_ctx(struct sha256_ctx *ctx, void *resbuf) { +uint8_t *sha256_finish_ctx(struct sha256_ctx *ctx, uint8_t resbuf[static SHA256_DIGEST_SIZE]) { /* Take yet unprocessed bytes into account. */ uint32_t bytes = ctx->buflen; size_t pad; @@ -129,7 +129,7 @@ void *sha256_finish_ctx(struct sha256_ctx *ctx, void *resbuf) { /* Put result from CTX in first 32 bytes following RESBUF. */ for (size_t i = 0; i < 8; ++i) if (UNALIGNED_P(resbuf)) - memcpy((uint8_t*) resbuf + i * sizeof(uint32_t), (uint32_t[]) { SWAP(ctx->H[i]) }, sizeof(uint32_t)); + memcpy(resbuf + i * sizeof(uint32_t), (uint32_t[]) { SWAP(ctx->H[i]) }, sizeof(uint32_t)); else ((uint32_t *) resbuf)[i] = SWAP(ctx->H[i]); diff --git a/src/fundamental/sha256.h b/src/fundamental/sha256.h index f296f76ae8..337e746c49 100644 --- a/src/fundamental/sha256.h +++ b/src/fundamental/sha256.h @@ -25,5 +25,5 @@ struct sha256_ctx { }; void sha256_init_ctx(struct sha256_ctx *ctx); -void *sha256_finish_ctx(struct sha256_ctx *ctx, void *resbuf); +uint8_t *sha256_finish_ctx(struct sha256_ctx *ctx, uint8_t resbuf[static SHA256_DIGEST_SIZE]); void sha256_process_bytes(const void *buffer, size_t len, struct sha256_ctx *ctx); -- cgit v1.2.1