aboutsummaryrefslogtreecommitdiff
path: root/src/microhttpd/md5.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/microhttpd/md5.c')
-rw-r--r--src/microhttpd/md5.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/microhttpd/md5.c b/src/microhttpd/md5.c
index 8ac56793..a467ccac 100644
--- a/src/microhttpd/md5.c
+++ b/src/microhttpd/md5.c
@@ -113,10 +113,12 @@ MHD_MD5Final (void *ctx_,
113 if (1) 113 if (1)
114#endif /* _MHD_PUT_32BIT_LE_UNALIGNED */ 114#endif /* _MHD_PUT_32BIT_LE_UNALIGNED */
115 { 115 {
116 _MHD_PUT_32BIT_LE (digest, ctx->state[0]); 116 /* Use cast to (void*) here to mute compiler alignment warnings.
117 _MHD_PUT_32BIT_LE (digest + 4, ctx->state[1]); 117 * Compilers are not smart enough to see that alignment has been checked. */
118 _MHD_PUT_32BIT_LE (digest + 8, ctx->state[2]); 118 _MHD_PUT_32BIT_LE ((void *) (digest + 0), ctx->state[0]);
119 _MHD_PUT_32BIT_LE (digest + 12, ctx->state[3]); 119 _MHD_PUT_32BIT_LE ((void *) (digest + 4), ctx->state[1]);
120 _MHD_PUT_32BIT_LE ((void *) (digest + 8), ctx->state[2]);
121 _MHD_PUT_32BIT_LE ((void *) (digest + 12), ctx->state[3]);
120 } 122 }
121 123
122 /* Erase buffer */ 124 /* Erase buffer */
@@ -158,7 +160,7 @@ MD5Transform (uint32_t state[4],
158 in = data_buf; 160 in = data_buf;
159 } 161 }
160 else 162 else
161 in = (const uint32_t *) block; 163 in = (const uint32_t *) ((const void *) block);
162#endif /* _MHD_BYTE_ORDER == _MHD_LITTLE_ENDIAN) || \ 164#endif /* _MHD_BYTE_ORDER == _MHD_LITTLE_ENDIAN) || \
163 ! _MHD_GET_32BIT_LE_UNALIGNED */ 165 ! _MHD_GET_32BIT_LE_UNALIGNED */
164#if _MHD_BYTE_ORDER != _MHD_LITTLE_ENDIAN 166#if _MHD_BYTE_ORDER != _MHD_LITTLE_ENDIAN