forked from wolfSSL/wolfssl
add check on padSz return, coverity issue 394711
This commit is contained in:
@ -8634,6 +8634,8 @@ int wc_PKCS7_PadData(byte* in, word32 inSz, byte* out, word32 outSz,
|
|||||||
return BAD_FUNC_ARG;
|
return BAD_FUNC_ARG;
|
||||||
|
|
||||||
padSz = wc_PKCS7_GetPadSize(inSz, blockSz);
|
padSz = wc_PKCS7_GetPadSize(inSz, blockSz);
|
||||||
|
if (padSz < 0)
|
||||||
|
return padSz;
|
||||||
|
|
||||||
if (outSz < (inSz + padSz))
|
if (outSz < (inSz + padSz))
|
||||||
return BAD_FUNC_ARG;
|
return BAD_FUNC_ARG;
|
||||||
|
@ -49471,6 +49471,11 @@ static wc_test_ret_t pkcs7signed_run_vectors(
|
|||||||
|
|
||||||
XMEMSET(out, 0, outSz);
|
XMEMSET(out, 0, outSz);
|
||||||
|
|
||||||
|
/* test inner pad size error with block size being 0 */
|
||||||
|
ret = wc_PKCS7_PadData((byte*)data, sizeof(data), out, outSz, 0);
|
||||||
|
if (ret > 0)
|
||||||
|
ERROR_OUT(-1, out);
|
||||||
|
|
||||||
ret = wc_PKCS7_PadData((byte*)data, sizeof(data), out, outSz, 16);
|
ret = wc_PKCS7_PadData((byte*)data, sizeof(data), out, outSz, 16);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
ERROR_OUT(WC_TEST_RET_ENC_EC(ret), out);
|
ERROR_OUT(WC_TEST_RET_ENC_EC(ret), out);
|
||||||
|
Reference in New Issue
Block a user