[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[libmicrohttpd] 23/26: sha1.c: muted alignment warnings
From: |
gnunet |
Subject: |
[libmicrohttpd] 23/26: sha1.c: muted alignment warnings |
Date: |
Mon, 25 Apr 2022 15:08:47 +0200 |
This is an automated email from the git hooks/post-receive script.
karlson2k pushed a commit to branch master
in repository libmicrohttpd.
commit 9c7c06d8b8e8beb7f45107e51ed19c1be816c762
Author: Evgeny Grin (Karlson2k) <k2k@narod.ru>
AuthorDate: Sat Apr 23 20:52:35 2022 +0300
sha1.c: muted alignment warnings
---
src/microhttpd/sha1.c | 17 +++++++++++------
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/src/microhttpd/sha1.c b/src/microhttpd/sha1.c
index 1e9da5c7..be9f73ab 100644
--- a/src/microhttpd/sha1.c
+++ b/src/microhttpd/sha1.c
@@ -105,8 +105,11 @@ sha1_transform (uint32_t H[_SHA1_DIGEST_LENGTH],
See FIPS PUB 180-4 paragraph 6.1.3.
Input data must be read in big-endian bytes order,
see FIPS PUB 180-4 paragraph 3.1.2. */
+ /* Use cast to (void*) to mute compiler alignment warning,
+ * data was already aligned in previous step */
#define GET_W_FROM_DATA(buf,t) \
- _MHD_GET_32BIT_BE (((const uint8_t*) (buf)) + (t) * SHA1_BYTES_IN_WORD)
+ _MHD_GET_32BIT_BE ((const void *)(((const uint8_t*) (buf)) + \
+ (t) * SHA1_BYTES_IN_WORD))
#ifndef _MHD_GET_32BIT_BE_UNALIGNED
if (0 != (((uintptr_t) data) % _MHD_UINT32_ALIGN))
@@ -366,11 +369,13 @@ MHD_SHA1_finish (void *ctx_,
if (1)
#endif /* _MHD_PUT_32BIT_BE_UNALIGNED */
{
- _MHD_PUT_32BIT_BE (digest + 0 * SHA1_BYTES_IN_WORD, ctx->H[0]);
- _MHD_PUT_32BIT_BE (digest + 1 * SHA1_BYTES_IN_WORD, ctx->H[1]);
- _MHD_PUT_32BIT_BE (digest + 2 * SHA1_BYTES_IN_WORD, ctx->H[2]);
- _MHD_PUT_32BIT_BE (digest + 3 * SHA1_BYTES_IN_WORD, ctx->H[3]);
- _MHD_PUT_32BIT_BE (digest + 4 * SHA1_BYTES_IN_WORD, ctx->H[4]);
+ /* Use cast to (void*) here to mute compiler alignment warnings.
+ * Compilers are not smart enough to see that alignment has been checked.
*/
+ _MHD_PUT_32BIT_BE ((void *) (digest + 0 * SHA1_BYTES_IN_WORD), ctx->H[0]);
+ _MHD_PUT_32BIT_BE ((void *) (digest + 1 * SHA1_BYTES_IN_WORD), ctx->H[1]);
+ _MHD_PUT_32BIT_BE ((void *) (digest + 2 * SHA1_BYTES_IN_WORD), ctx->H[2]);
+ _MHD_PUT_32BIT_BE ((void *) (digest + 3 * SHA1_BYTES_IN_WORD), ctx->H[3]);
+ _MHD_PUT_32BIT_BE ((void *) (digest + 4 * SHA1_BYTES_IN_WORD), ctx->H[4]);
}
/* Erase potentially sensitive data. */
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [libmicrohttpd] 08/26: configure: changed warning compiler flags, (continued)
- [libmicrohttpd] 08/26: configure: changed warning compiler flags, gnunet, 2022/04/25
- [libmicrohttpd] 14/26: doc/examples: improved formatting, gnunet, 2022/04/25
- [libmicrohttpd] 12/26: src/examples: fixed printf format specifiers, gnunet, 2022/04/25
- [libmicrohttpd] 15/26: doc/examples: avoid usage of unportable functions, gnunet, 2022/04/25
- [libmicrohttpd] 09/26: Fixed many macros, gnunet, 2022/04/25
- [libmicrohttpd] 20/26: sha256.c: fixed coding style, gnunet, 2022/04/25
- [libmicrohttpd] 26/26: test_postprocessor: fixed typo, gnunet, 2022/04/25
- [libmicrohttpd] 22/26: sha1.c: fixed coding style, gnunet, 2022/04/25
- [libmicrohttpd] 24/26: MHD_get_daemon_info(): fixed unaligned memory access, gnunet, 2022/04/25
- [libmicrohttpd] 16/26: daemon.c: fixed possible unaligned access to 'struct sockaddr_in', gnunet, 2022/04/25
- [libmicrohttpd] 23/26: sha1.c: muted alignment warnings,
gnunet <=
- [libmicrohttpd] 25/26: Removed unneeded anymore alignment workarounds., gnunet, 2022/04/25
- [libmicrohttpd] 18/26: mhd_bithelpers: minor improvement of internal macros, gnunet, 2022/04/25
- [libmicrohttpd] 17/26: MHD_get_connection_info(): Fixed possible unaligned access, gnunet, 2022/04/25
- [libmicrohttpd] 21/26: sha256.c: muted alignment warnings, gnunet, 2022/04/25