void-packages/srcpkgs/libmcrypt/patches/01-rotate-mask.patch

19 lines
1.0 KiB
Diff

--- a/KNOWN-BUGS 2008-12-13 15:31:49.000000000 -0500
+++ /dev/null 2008-12-13 02:05:21.751517562 -0500
@@ -1 +0,0 @@
-- cast-256 and rc6 do not work properly on Alpha (64 bit) machines
--- a/lib/mcrypt_modules.h.orig 2008-12-13 15:33:06.000000000 -0500
+++ b/lib/mcrypt_modules.h 2008-12-13 15:25:01.000000000 -0500
@@ -1,7 +1,7 @@
-#define rotl32(x,n) (((x) << ((word32)(n))) | ((x) >> (32 - (word32)(n))))
-#define rotr32(x,n) (((x) >> ((word32)(n))) | ((x) << (32 - (word32)(n))))
-#define rotl16(x,n) (((x) << ((word16)(n))) | ((x) >> (16 - (word16)(n))))
-#define rotr16(x,n) (((x) >> ((word16)(n))) | ((x) << (16 - (word16)(n))))
+#define rotl32(x,n) (((x) << ((word32)(n & 31))) | ((x) >> (32 - (word32)(n & 31))))
+#define rotr32(x,n) (((x) >> ((word32)(n & 31))) | ((x) << (32 - (word32)(n & 31))))
+#define rotl16(x,n) (((x) << ((word16)(n & 15))) | ((x) >> (16 - (word16)(n & 15))))
+#define rotr16(x,n) (((x) >> ((word16)(n & 15))) | ((x) << (16 - (word16)(n & 15))))
/* Use hardware rotations.. when available */
#ifdef swap32