diff --git a/wolfcrypt/src/misc.c b/wolfcrypt/src/misc.c index e6b8a78e9..5ce25bf7c 100644 --- a/wolfcrypt/src/misc.c +++ b/wolfcrypt/src/misc.c @@ -356,7 +356,8 @@ STATIC WC_INLINE byte ctMaskSel(byte m, byte a, byte b) /* Constant time - select integer a when mask is set and integer b otherwise. */ STATIC WC_INLINE int ctMaskSelInt(byte m, int a, int b) { - return (b & (~(int)(char)m)) | (a & ((int)(char)m)); + return (b & (~(signed int)(signed char)m)) | + (a & ( (signed int)(signed char)m)); } /* Constant time - bit set when a <= b. */ diff --git a/wolfcrypt/src/rsa.c b/wolfcrypt/src/rsa.c index daad7f312..d66ad10be 100644 --- a/wolfcrypt/src/rsa.c +++ b/wolfcrypt/src/rsa.c @@ -2232,7 +2232,7 @@ static int RsaPrivateDecryptEx(byte* in, word32 inLen, byte* out, if (rsa_type == RSA_PUBLIC_DECRYPT && ret > (int)outLen) ret = RSA_BUFFER_E; else if (ret >= 0 && pad != NULL) { - char c; + signed char c; /* only copy output if not inline */ if (outPtr == NULL) {