diff options
Diffstat (limited to 'src/microhttpd/md5.c')
-rw-r--r-- | src/microhttpd/md5.c | 12 |
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 |