Klocwork scanning fixes for IppCryptoLib

This patches fixed Klocwork scanning reports in IppCryptoLib.

Signed-off-by: Maurice Ma <maurice.ma@intel.com>
This commit is contained in:
Maurice Ma 2019-11-01 14:02:09 -07:00
parent e0a19d2814
commit 1420677fbd
2 changed files with 29 additions and 20 deletions

View File

@ -256,7 +256,7 @@ static BNU_CHUNK_T* gs_mont_mul(BNU_CHUNK_T* pr, const BNU_CHUNK_T* pa, const BN
BNU_CHUNK_T* pBuffer = gsModPoolAlloc(pME, polLength);
//gres: temporary excluded: assert(NULL!=pBuffer);
{
if (pBuffer != NULL) {
BNU_CHUNK_T carry = 0;
int i, j;
@ -383,11 +383,13 @@ static BNU_CHUNK_T* gs_mont_decode(BNU_CHUNK_T* pr, const BNU_CHUNK_T* pa, gsMod
BNU_CHUNK_T* t = gsModPoolAlloc(pME, polLength);
//gres: temporary excluded: assert(NULL!=t);
ZEXPAND_BNU(t, 0, mLen);
t[0] = 1;
gs_mont_mul(pr, pa, t, pME);
if (t != NULL) {
ZEXPAND_BNU(t, 0, mLen);
t[0] = 1;
gs_mont_mul(pr, pa, t, pME);
gsModPoolFree(pME, polLength);
}
gsModPoolFree(pME, polLength);
return pr;
}

View File

@ -5,19 +5,19 @@
**/
/*
//
/*
//
// Purpose:
// Cryptography Primitive.
// RSA Functions
//
//
// Contents:
// ippsRSA_GetBufferSizePublicKey()
// ippsRSA_GetBufferSizePrivateKey()
// ippsRSA_Encrypt()
// ippsRSA_Decrypt()
//
//
//
//
*/
#include "owncp.h"
@ -168,14 +168,17 @@ void gsRSApub_cipher(IppsBigNumState* pY,
gsMethod_RSA* m = getDefaultMethod_RSA(RSA_PRV_KEY_BITSIZE_N(pKey));
BNU_CHUNK_T* dataY = BN_NUMBER(pY);
cpSize nsY = m->publicExpFun(dataY,
BN_NUMBER(pX), BN_SIZE(pX),
RSA_PUB_KEY_E(pKey), BITS_BNU_CHUNK(RSA_PUB_KEY_BITSIZE_E(pKey)),
RSA_PUB_KEY_NMONT(pKey),
pBuffer);
FIX_BNU(dataY, nsY);
BN_SIZE(pY) = nsY;
BN_SIGN(pY) = ippBigNumPOS;
if (m != NULL) {
cpSize nsY = m->publicExpFun(dataY,
BN_NUMBER(pX), BN_SIZE(pX),
RSA_PUB_KEY_E(pKey), BITS_BNU_CHUNK(RSA_PUB_KEY_BITSIZE_E(pKey)),
RSA_PUB_KEY_NMONT(pKey),
pBuffer);
FIX_BNU(dataY, nsY);
BN_SIZE(pY) = nsY;
BN_SIGN(pY) = ippBigNumPOS;
}
}
@ -283,14 +286,18 @@ void gsRSAprv_cipher_crt(IppsBigNumState* pY,
cpMod_BNU(dataXq, nsX, MOD_MODULUS(pMontQ), nsQ);
m = getDefaultMethod_RSA(bitSizeDQ);
m->privateExpFun(dataXq, dataXq, nsQ, RSA_PRV_KEY_DQ(pKey), BITS_BNU_CHUNK(bitSizeDQ), pMontQ, pBuffer);
if (m != NULL) {
m->privateExpFun(dataXq, dataXq, nsQ, RSA_PRV_KEY_DQ(pKey), BITS_BNU_CHUNK(bitSizeDQ), pMontQ, pBuffer);
}
/* compute xp = x^dP mod P */
COPY_BNU(dataXp, dataX, nsX);
cpMod_BNU(dataXp, nsX, MOD_MODULUS(pMontP), nsP);
m = getDefaultMethod_RSA(bitSizeDP);
m->privateExpFun(dataXp, dataXp, nsP, RSA_PRV_KEY_DP(pKey), BITS_BNU_CHUNK(bitSizeDP), pMontP, pBuffer);
if (m != NULL) {
m->privateExpFun(dataXp, dataXp, nsP, RSA_PRV_KEY_DP(pKey), BITS_BNU_CHUNK(bitSizeDP), pMontP, pBuffer);
}
/*
// recombination