From: Sam James Date: Mon, 27 Mar 2023 01:25:12 +0000 (+0100) Subject: lib: md5: Fix strict aliasing violation X-Git-Tag: 2.4.0~2851 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6de2e4ac0b9abd4ab09b68f1f7e5f032705080b1;p=thirdparty%2Fdovecot%2Fcore.git lib: md5: Fix strict aliasing violation Followup to f0c1cf42ea78d22e2674b03fe65f0ee6545c5b99. It's exactly the same code as in md4, so let's rip it out here too. --- diff --git a/src/lib/md5.c b/src/lib/md5.c index 46cffb6d12..ee946ea805 100644 --- a/src/lib/md5.c +++ b/src/lib/md5.c @@ -38,20 +38,6 @@ (a) = (((a) << (s)) | (((a) & 0xffffffff) >> (32 - (s)))); \ (a) += (b); -/* - * SET reads 4 input bytes in little-endian byte order and stores them - * in a properly aligned word in host byte order. - * - * The check for little-endian architectures which tolerate unaligned - * memory accesses is just an optimization. Nothing will break if it - * doesn't work. - */ -#if defined(__i386__) || defined(__x86_64__) || defined(__vax__) -#define SET(n) \ - (*(const uint32_t *)&ptr[(n) * 4]) -#define GET(n) \ - SET(n) -#else #define SET(n) \ (ctx->block[(n)] = \ (uint_fast32_t)ptr[(n) * 4] | \ @@ -60,7 +46,6 @@ ((uint_fast32_t)ptr[(n) * 4 + 3] << 24)) #define GET(n) \ (ctx->block[(n)]) -#endif /* * This processes one or more 64-byte data blocks, but does NOT update