summaryrefslogtreecommitdiff
path: root/dev-libs/libmcrypt/files/libmcrypt-2.5.8-rotate-mask.patch
blob: 568caa463862bed921e085fffd52493aa522d751 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
--- 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