summaryrefslogtreecommitdiff
path: root/src/fundamental
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2022-08-17 11:24:24 +0200
committerLennart Poettering <lennart@poettering.net>2022-08-19 12:53:04 +0200
commit3c4d5f2ff5ce5f69fb50ff1c5c15ba52c72395f1 (patch)
tree252c0b4b144e0b4d9e2403cb736aa639dac10736 /src/fundamental
parent570fe6f12b96b47eff0a966fa589da77cbc5e0fe (diff)
downloadsystemd-3c4d5f2ff5ce5f69fb50ff1c5c15ba52c72395f1.tar.gz
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.
Diffstat (limited to 'src/fundamental')
-rw-r--r--src/fundamental/sha256.c4
-rw-r--r--src/fundamental/sha256.h2
2 files changed, 3 insertions, 3 deletions
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);