]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
sha256: move to unaligned_write_ne32()
authorLennart Poettering <lennart@poettering.net>
Wed, 7 Dec 2022 17:13:12 +0000 (18:13 +0100)
committerLennart Poettering <lennart@poettering.net>
Thu, 8 Dec 2022 14:18:47 +0000 (15:18 +0100)
src/fundamental/sha256.c

index 9b717645b377e5ddd3c0e29221243c44aed2c392..fcbf531bd2ce464caf855f8957e7f17de6691c93 100644 (file)
@@ -30,6 +30,7 @@
 
 #include "macro-fundamental.h"
 #include "sha256.h"
+#include "unaligned-fundamental.h"
 
 #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
 # define SWAP(n)                                                        \
@@ -128,11 +129,7 @@ uint8_t *sha256_finish_ctx(struct sha256_ctx *ctx, uint8_t resbuf[static SHA256_
 
         /* Put result from CTX in first 32 bytes following RESBUF.  */
         for (size_t i = 0; i < 8; ++i)
-                if (UNALIGNED_P(resbuf))
-                        memcpy(resbuf + i * sizeof(uint32_t), (uint32_t[]) { SWAP(ctx->H[i]) }, sizeof(uint32_t));
-                else
-                        ((uint32_t *) resbuf)[i] = SWAP(ctx->H[i]);
-
+                unaligned_write_ne32(resbuf + i * sizeof(uint32_t), SWAP(ctx->H[i]));
         return resbuf;
 }