From 574beff4cc74c4785bfc5332e086f72b29e051fa Mon Sep 17 00:00:00 2001 From: Chris Conlon Date: Tue, 19 Dec 2017 13:57:33 -0700 Subject: [PATCH] fix Windows Visual Studio warnings --- src/ssl.c | 2 +- src/tls.c | 2 +- wolfcrypt/src/asn.c | 7 +- wolfcrypt/src/fe_operations.c | 64 ++++++++-------- wolfcrypt/src/ge_operations.c | 136 +++++++++++++++++----------------- wolfcrypt/src/tfm.c | 4 +- 6 files changed, 106 insertions(+), 109 deletions(-) diff --git a/src/ssl.c b/src/ssl.c index 435f01b52..dbf5df029 100644 --- a/src/ssl.c +++ b/src/ssl.c @@ -24055,7 +24055,7 @@ void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl) (void)depth; WOLFSSL_STUB("wolfSSL_set_verify_depth"); #else - ssl->options.verifyDepth = depth; + ssl->options.verifyDepth = (byte)depth; #endif } diff --git a/src/tls.c b/src/tls.c index fcd408e0b..79aa517a3 100644 --- a/src/tls.c +++ b/src/tls.c @@ -3079,7 +3079,7 @@ static word16 TLSX_PointFormat_Write(PointFormat* list, byte* output) list = list->next; } - output[0] = offset - ENUM_LEN; + output[0] = (byte)(offset - ENUM_LEN); return offset; } diff --git a/wolfcrypt/src/asn.c b/wolfcrypt/src/asn.c index e23425311..e7b8a6662 100644 --- a/wolfcrypt/src/asn.c +++ b/wolfcrypt/src/asn.c @@ -2050,17 +2050,14 @@ static int DecryptKey(const char* password, int passwordSz, byte* salt, #endif default: -#ifdef WOLFSSL_SMALL_STACK - XFREE(key, NULL, DYNAMIC_TYPE_TMP_BUFFER); -#endif - return ALGO_ID_E; + ret = ALGO_ID_E; } #ifdef WOLFSSL_SMALL_STACK XFREE(key, NULL, DYNAMIC_TYPE_TMP_BUFFER); #endif - return 0; + return ret; } diff --git a/wolfcrypt/src/fe_operations.c b/wolfcrypt/src/fe_operations.c index 7c8748fdd..455efa1ca 100644 --- a/wolfcrypt/src/fe_operations.c +++ b/wolfcrypt/src/fe_operations.c @@ -488,38 +488,38 @@ void fe_tobytes(unsigned char *s,const fe h) Goal: Output h0+...+2^230 h9. */ - s[0] = h0 >> 0; - s[1] = h0 >> 8; - s[2] = h0 >> 16; - s[3] = (h0 >> 24) | (h1 << 2); - s[4] = h1 >> 6; - s[5] = h1 >> 14; - s[6] = (h1 >> 22) | (h2 << 3); - s[7] = h2 >> 5; - s[8] = h2 >> 13; - s[9] = (h2 >> 21) | (h3 << 5); - s[10] = h3 >> 3; - s[11] = h3 >> 11; - s[12] = (h3 >> 19) | (h4 << 6); - s[13] = h4 >> 2; - s[14] = h4 >> 10; - s[15] = h4 >> 18; - s[16] = h5 >> 0; - s[17] = h5 >> 8; - s[18] = h5 >> 16; - s[19] = (h5 >> 24) | (h6 << 1); - s[20] = h6 >> 7; - s[21] = h6 >> 15; - s[22] = (h6 >> 23) | (h7 << 3); - s[23] = h7 >> 5; - s[24] = h7 >> 13; - s[25] = (h7 >> 21) | (h8 << 4); - s[26] = h8 >> 4; - s[27] = h8 >> 12; - s[28] = (h8 >> 20) | (h9 << 6); - s[29] = h9 >> 2; - s[30] = h9 >> 10; - s[31] = h9 >> 18; + s[0] = (byte)(h0 >> 0); + s[1] = (byte)(h0 >> 8); + s[2] = (byte)(h0 >> 16); + s[3] = (byte)((h0 >> 24) | (h1 << 2)); + s[4] = (byte)(h1 >> 6); + s[5] = (byte)(h1 >> 14); + s[6] = (byte)((h1 >> 22) | (h2 << 3)); + s[7] = (byte)(h2 >> 5); + s[8] = (byte)(h2 >> 13); + s[9] = (byte)((h2 >> 21) | (h3 << 5)); + s[10] = (byte)(h3 >> 3); + s[11] = (byte)(h3 >> 11); + s[12] = (byte)((h3 >> 19) | (h4 << 6)); + s[13] = (byte)(h4 >> 2); + s[14] = (byte)(h4 >> 10); + s[15] = (byte)(h4 >> 18); + s[16] = (byte)(h5 >> 0); + s[17] = (byte)(h5 >> 8); + s[18] = (byte)(h5 >> 16); + s[19] = (byte)((h5 >> 24) | (h6 << 1)); + s[20] = (byte)(h6 >> 7); + s[21] = (byte)(h6 >> 15); + s[22] = (byte)((h6 >> 23) | (h7 << 3)); + s[23] = (byte)(h7 >> 5); + s[24] = (byte)(h7 >> 13); + s[25] = (byte)((h7 >> 21) | (h8 << 4)); + s[26] = (byte)(h8 >> 4); + s[27] = (byte)(h8 >> 12); + s[28] = (byte)((h8 >> 20) | (h9 << 6)); + s[29] = (byte)(h9 >> 2); + s[30] = (byte)(h9 >> 10); + s[31] = (byte)(h9 >> 18); } diff --git a/wolfcrypt/src/ge_operations.c b/wolfcrypt/src/ge_operations.c index dcbb04255..b64a46038 100644 --- a/wolfcrypt/src/ge_operations.c +++ b/wolfcrypt/src/ge_operations.c @@ -249,38 +249,38 @@ void sc_reduce(byte* s) carry = t[ 9] >> 21; t[10] += carry; t[ 9] &= MASK_21; carry = t[10] >> 21; t[11] += carry; t[10] &= MASK_21; - s[ 0] = (t[ 0] >> 0); - s[ 1] = (t[ 0] >> 8); - s[ 2] = (t[ 0] >> 16) | (t[ 1] << 5); - s[ 3] = (t[ 1] >> 3); - s[ 4] = (t[ 1] >> 11); - s[ 5] = (t[ 1] >> 19) | (t[ 2] << 2); - s[ 6] = (t[ 2] >> 6); - s[ 7] = (t[ 2] >> 14) | (t[ 3] << 7); - s[ 8] = (t[ 3] >> 1); - s[ 9] = (t[ 3] >> 9); - s[10] = (t[ 3] >> 17) | (t[ 4] << 4); - s[11] = (t[ 4] >> 4); - s[12] = (t[ 4] >> 12); - s[13] = (t[ 4] >> 20) | (t[ 5] << 1); - s[14] = (t[ 5] >> 7); - s[15] = (t[ 5] >> 15) | (t[ 6] << 6); - s[16] = (t[ 6] >> 2); - s[17] = (t[ 6] >> 10); - s[18] = (t[ 6] >> 18) | (t[ 7] << 3); - s[19] = (t[ 7] >> 5); - s[20] = (t[ 7] >> 13); - s[21] = (t[ 8] >> 0); - s[22] = (t[ 8] >> 8); - s[23] = (t[ 8] >> 16) | (t[ 9] << 5); - s[24] = (t[ 9] >> 3); - s[25] = (t[ 9] >> 11); - s[26] = (t[ 9] >> 19) | (t[10] << 2); - s[27] = (t[10] >> 6); - s[28] = (t[10] >> 14) | (t[11] << 7); - s[29] = (t[11] >> 1); - s[30] = (t[11] >> 9); - s[31] = (t[11] >> 17); + s[ 0] = (byte)(t[ 0] >> 0); + s[ 1] = (byte)(t[ 0] >> 8); + s[ 2] = (byte)((t[ 0] >> 16) | (t[ 1] << 5)); + s[ 3] = (byte)(t[ 1] >> 3); + s[ 4] = (byte)(t[ 1] >> 11); + s[ 5] = (byte)((t[ 1] >> 19) | (t[ 2] << 2)); + s[ 6] = (byte)(t[ 2] >> 6); + s[ 7] = (byte)((t[ 2] >> 14) | (t[ 3] << 7)); + s[ 8] = (byte)(t[ 3] >> 1); + s[ 9] = (byte)(t[ 3] >> 9); + s[10] = (byte)((t[ 3] >> 17) | (t[ 4] << 4)); + s[11] = (byte)(t[ 4] >> 4); + s[12] = (byte)(t[ 4] >> 12); + s[13] = (byte)((t[ 4] >> 20) | (t[ 5] << 1)); + s[14] = (byte)(t[ 5] >> 7); + s[15] = (byte)((t[ 5] >> 15) | (t[ 6] << 6)); + s[16] = (byte)(t[ 6] >> 2); + s[17] = (byte)(t[ 6] >> 10); + s[18] = (byte)((t[ 6] >> 18) | (t[ 7] << 3)); + s[19] = (byte)(t[ 7] >> 5); + s[20] = (byte)(t[ 7] >> 13); + s[21] = (byte)(t[ 8] >> 0); + s[22] = (byte)(t[ 8] >> 8); + s[23] = (byte)((t[ 8] >> 16) | (t[ 9] << 5)); + s[24] = (byte)(t[ 9] >> 3); + s[25] = (byte)(t[ 9] >> 11); + s[26] = (byte)((t[ 9] >> 19) | (t[10] << 2)); + s[27] = (byte)(t[10] >> 6); + s[28] = (byte)((t[10] >> 14) | (t[11] << 7)); + s[29] = (byte)(t[11] >> 1); + s[30] = (byte)(t[11] >> 9); + s[31] = (byte)(t[11] >> 17); } /* @@ -310,7 +310,7 @@ void sc_muladd(byte* s, const byte* a, const byte* b, const byte* c) ad[ 8] = MASK_21 & (load_3(a + 21) >> 0); ad[ 9] = MASK_21 & (load_4(a + 23) >> 5); ad[10] = MASK_21 & (load_3(a + 26) >> 2); - ad[11] = (load_4(a + 28) >> 7); + ad[11] = (uint32_t)(load_4(a + 28) >> 7); bd[ 0] = MASK_21 & (load_3(b + 0) >> 0); bd[ 1] = MASK_21 & (load_4(b + 2) >> 5); bd[ 2] = MASK_21 & (load_3(b + 5) >> 2); @@ -322,7 +322,7 @@ void sc_muladd(byte* s, const byte* a, const byte* b, const byte* c) bd[ 8] = MASK_21 & (load_3(b + 21) >> 0); bd[ 9] = MASK_21 & (load_4(b + 23) >> 5); bd[10] = MASK_21 & (load_3(b + 26) >> 2); - bd[11] = (load_4(b + 28) >> 7); + bd[11] = (uint32_t)(load_4(b + 28) >> 7); cd[ 0] = MASK_21 & (load_3(c + 0) >> 0); cd[ 1] = MASK_21 & (load_4(c + 2) >> 5); cd[ 2] = MASK_21 & (load_3(c + 5) >> 2); @@ -334,7 +334,7 @@ void sc_muladd(byte* s, const byte* a, const byte* b, const byte* c) cd[ 8] = MASK_21 & (load_3(c + 21) >> 0); cd[ 9] = MASK_21 & (load_4(c + 23) >> 5); cd[10] = MASK_21 & (load_3(c + 26) >> 2); - cd[11] = (load_4(c + 28) >> 7); + cd[11] = (uint32_t)(load_4(c + 28) >> 7); t[ 0] = cd[ 0] + (int64_t)ad[ 0] * bd[ 0]; t[ 1] = cd[ 1] + (int64_t)ad[ 0] * bd[ 1] + (int64_t)ad[ 1] * bd[ 0]; @@ -569,38 +569,38 @@ void sc_muladd(byte* s, const byte* a, const byte* b, const byte* c) carry = t[ 9] >> 21; t[10] += carry; t[ 9] &= MASK_21; carry = t[10] >> 21; t[11] += carry; t[10] &= MASK_21; - s[ 0] = (t[ 0] >> 0); - s[ 1] = (t[ 0] >> 8); - s[ 2] = (t[ 0] >> 16) | (t[ 1] << 5); - s[ 3] = (t[ 1] >> 3); - s[ 4] = (t[ 1] >> 11); - s[ 5] = (t[ 1] >> 19) | (t[ 2] << 2); - s[ 6] = (t[ 2] >> 6); - s[ 7] = (t[ 2] >> 14) | (t[ 3] << 7); - s[ 8] = (t[ 3] >> 1); - s[ 9] = (t[ 3] >> 9); - s[10] = (t[ 3] >> 17) | (t[ 4] << 4); - s[11] = (t[ 4] >> 4); - s[12] = (t[ 4] >> 12); - s[13] = (t[ 4] >> 20) | (t[ 5] << 1); - s[14] = (t[ 5] >> 7); - s[15] = (t[ 5] >> 15) | (t[ 6] << 6); - s[16] = (t[ 6] >> 2); - s[17] = (t[ 6] >> 10); - s[18] = (t[ 6] >> 18) | (t[ 7] << 3); - s[19] = (t[ 7] >> 5); - s[20] = (t[ 7] >> 13); - s[21] = (t[ 8] >> 0); - s[22] = (t[ 8] >> 8); - s[23] = (t[ 8] >> 16) | (t[ 9] << 5); - s[24] = (t[ 9] >> 3); - s[25] = (t[ 9] >> 11); - s[26] = (t[ 9] >> 19) | (t[10] << 2); - s[27] = (t[10] >> 6); - s[28] = (t[10] >> 14) | (t[11] << 7); - s[29] = (t[11] >> 1); - s[30] = (t[11] >> 9); - s[31] = (t[11] >> 17); + s[ 0] = (byte)(t[ 0] >> 0); + s[ 1] = (byte)(t[ 0] >> 8); + s[ 2] = (byte)((t[ 0] >> 16) | (t[ 1] << 5)); + s[ 3] = (byte)(t[ 1] >> 3); + s[ 4] = (byte)(t[ 1] >> 11); + s[ 5] = (byte)((t[ 1] >> 19) | (t[ 2] << 2)); + s[ 6] = (byte)(t[ 2] >> 6); + s[ 7] = (byte)((t[ 2] >> 14) | (t[ 3] << 7)); + s[ 8] = (byte)(t[ 3] >> 1); + s[ 9] = (byte)(t[ 3] >> 9); + s[10] = (byte)((t[ 3] >> 17) | (t[ 4] << 4)); + s[11] = (byte)(t[ 4] >> 4); + s[12] = (byte)(t[ 4] >> 12); + s[13] = (byte)((t[ 4] >> 20) | (t[ 5] << 1)); + s[14] = (byte)(t[ 5] >> 7); + s[15] = (byte)((t[ 5] >> 15) | (t[ 6] << 6)); + s[16] = (byte)(t[ 6] >> 2); + s[17] = (byte)(t[ 6] >> 10); + s[18] = (byte)((t[ 6] >> 18) | (t[ 7] << 3)); + s[19] = (byte)(t[ 7] >> 5); + s[20] = (byte)(t[ 7] >> 13); + s[21] = (byte)(t[ 8] >> 0); + s[22] = (byte)(t[ 8] >> 8); + s[23] = (byte)((t[ 8] >> 16) | (t[ 9] << 5)); + s[24] = (byte)(t[ 9] >> 3); + s[25] = (byte)(t[ 9] >> 11); + s[26] = (byte)((t[ 9] >> 19) | (t[10] << 2)); + s[27] = (byte)(t[10] >> 6); + s[28] = (byte)((t[10] >> 14) | (t[11] << 7)); + s[29] = (byte)(t[11] >> 1); + s[30] = (byte)(t[11] >> 9); + s[31] = (byte)(t[11] >> 17); } #else static uint64_t load_6(const byte* a) @@ -957,7 +957,7 @@ static unsigned char equal(signed char b,signed char c) uint32_t y = x; /* 0: yes; 1..255: no */ y -= 1; /* 4294967295: yes; 0..254: no */ y >>= 31; /* 1: yes; 0: no */ - return y; + return (unsigned char)y; } diff --git a/wolfcrypt/src/tfm.c b/wolfcrypt/src/tfm.c index ca4aa8d47..82169ae1f 100644 --- a/wolfcrypt/src/tfm.c +++ b/wolfcrypt/src/tfm.c @@ -1933,14 +1933,14 @@ int fp_to_unsigned_bin_at_pos(int x, fp_int *t, unsigned char *b) fp_digit n; for (j=0,i=0; iused-1; ) { - b[x++] = t->dp[i] >> j; + b[x++] = (unsigned char)(t->dp[i] >> j); j += 8; i += j == DIGIT_BIT; j &= DIGIT_BIT - 1; } n = t->dp[i]; while (n != 0) { - b[x++] = n; + b[x++] = (unsigned char)n; n >>= 8; } return x;