|
38 | 38 | #include "mbedtls/timing.h"
|
39 | 39 | #include "mbedtls/platform_util.h"
|
40 | 40 |
|
| 41 | +#include <stdint.h> |
41 | 42 | #include <string.h>
|
42 | 43 |
|
43 | 44 | /* ------------------------------------------------------------------------
|
|
54 | 55 | * ------------------------------------------------------------------------
|
55 | 56 | */
|
56 | 57 |
|
57 |
| -#define SWAP(X,Y) { int *T = (X); (X) = (Y); (Y) = T; } |
| 58 | +#define SWAP(X,Y) { uint32_t *T = (X); (X) = (Y); (Y) = T; } |
58 | 59 |
|
59 | 60 | #define TST1_ENTER if( PTEST & 1 ) { PTEST ^= 3; PTEST >>= 1;
|
60 | 61 | #define TST2_ENTER if( PTEST & 1 ) { PTEST ^= 3; PTEST >>= 1;
|
|
77 | 78 | PTX = (PT1 >> 18) & 7; \
|
78 | 79 | PT1 &= 0x1FFF; \
|
79 | 80 | PT2 &= 0x1FFF; \
|
80 |
| - CLK = (int) mbedtls_timing_hardclock(); \ |
| 81 | + CLK = (uint32_t) mbedtls_timing_hardclock(); \ |
81 | 82 | \
|
82 | 83 | i = 0; \
|
83 | 84 | A = &WALK[PT1 ]; RES[i++] ^= *A; \
|
|
100 | 101 | \
|
101 | 102 | IN = (*A >> (5)) ^ (*A << (27)) ^ CLK; \
|
102 | 103 | *A = (*B >> (6)) ^ (*B << (26)) ^ CLK; \
|
103 |
| - *B = IN; CLK = (int) mbedtls_timing_hardclock(); \ |
| 104 | + *B = IN; CLK = (uint32_t) mbedtls_timing_hardclock(); \ |
104 | 105 | *C = (*C >> (7)) ^ (*C << (25)) ^ CLK; \
|
105 | 106 | *D = (*D >> (8)) ^ (*D << (24)) ^ CLK; \
|
106 | 107 | \
|
|
158 | 159 | */
|
159 | 160 | static void havege_fill( mbedtls_havege_state *hs )
|
160 | 161 | {
|
161 |
| - int i, n = 0; |
162 |
| - int U1, U2, *A, *B, *C, *D; |
163 |
| - int PT1, PT2, *WALK, RES[16]; |
164 |
| - int PTX, PTY, CLK, PTEST, IN; |
| 162 | + size_t n = 0; |
| 163 | + size_t i; |
| 164 | + uint32_t U1, U2, *A, *B, *C, *D; |
| 165 | + uint32_t PT1, PT2, *WALK, RES[16]; |
| 166 | + uint32_t PTX, PTY, CLK, PTEST, IN; |
165 | 167 |
|
166 | 168 | WALK = hs->WALK;
|
167 | 169 | PT1 = hs->PT1;
|
@@ -212,16 +214,16 @@ void mbedtls_havege_free( mbedtls_havege_state *hs )
|
212 | 214 | */
|
213 | 215 | int mbedtls_havege_random( void *p_rng, unsigned char *buf, size_t len )
|
214 | 216 | {
|
215 |
| - int val; |
| 217 | + uint32_t val; |
216 | 218 | size_t use_len;
|
217 | 219 | mbedtls_havege_state *hs = (mbedtls_havege_state *) p_rng;
|
218 | 220 | unsigned char *p = buf;
|
219 | 221 |
|
220 | 222 | while( len > 0 )
|
221 | 223 | {
|
222 | 224 | use_len = len;
|
223 |
| - if( use_len > sizeof(int) ) |
224 |
| - use_len = sizeof(int); |
| 225 | + if( use_len > sizeof( val ) ) |
| 226 | + use_len = sizeof( val ); |
225 | 227 |
|
226 | 228 | if( hs->offset[1] >= MBEDTLS_HAVEGE_COLLECT_SIZE )
|
227 | 229 | havege_fill( hs );
|
|
0 commit comments