diff options
Diffstat (limited to 'cipher/des.c')
-rw-r--r-- | cipher/des.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/cipher/des.c b/cipher/des.c index 756c1461c..670ba6598 100644 --- a/cipher/des.c +++ b/cipher/des.c @@ -429,15 +429,15 @@ static byte weak_keys[64][8] = /* * Macros to convert 8 bytes from/to 32bit words. */ -#define READ_64BIT_DATA(data, left, right) \ - left = (data[0] << 24) | (data[1] << 16) | (data[2] << 8) | data[3]; \ - right = (data[4] << 24) | (data[5] << 16) | (data[6] << 8) | data[7]; +#define READ_64BIT_DATA(data, left, right) \ + left = ((u32)data[0] << 24) | (data[1] << 16) | (data[2] << 8) | data[3]; \ + right = ((u32)data[4] << 24) | (data[5] << 16) | (data[6] << 8) | data[7]; -#define WRITE_64BIT_DATA(data, left, right) \ - data[0] = (left >> 24) &0xff; data[1] = (left >> 16) &0xff; \ - data[2] = (left >> 8) &0xff; data[3] = left &0xff; \ - data[4] = (right >> 24) &0xff; data[5] = (right >> 16) &0xff; \ - data[6] = (right >> 8) &0xff; data[7] = right &0xff; +#define WRITE_64BIT_DATA(data, left, right) \ + data[0] = (left >> 24) &0xff; data[1] = (left >> 16) &0xff; \ + data[2] = (left >> 8) &0xff; data[3] = left &0xff; \ + data[4] = (right >> 24) &0xff; data[5] = (right >> 16) &0xff; \ + data[6] = (right >> 8) &0xff; data[7] = right &0xff; /* * Handy macros for encryption and decryption of data @@ -452,7 +452,7 @@ static void burn_stack (int bytes) { char buf[64]; - + wipememory(buf,sizeof buf); bytes -= sizeof buf; if (bytes > 0) @@ -960,7 +960,7 @@ do_tripledes_setkey ( void *ctx, const byte *key, unsigned keylen ) burn_stack (64); return G10ERR_WEAK_KEY; } - burn_stack (64); + burn_stack (64); return 0; } |