From: Lennart Poettering Date: Wed, 17 Aug 2022 09:24:24 +0000 (+0200) Subject: sha256: change digest buffer type to uint8_t[] X-Git-Tag: v252-rc1~407^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3c4d5f2ff5ce5f69fb50ff1c5c15ba52c72395f1;p=thirdparty%2Fsystemd.git 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. --- diff --git a/src/fundamental/sha256.c b/src/fundamental/sha256.c index 31d9674d09e..7ead5f169c5 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 f296f76ae8e..337e746c498 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);