wolfcrypt/src/pkcs7.c: correct fix for clang-analyzer-core.DivideZero in wc_PKCS7_DecodeAuthEnvelopedData().

This commit is contained in:
Daniel Pouzzner
2023-04-12 16:37:20 -05:00
parent 4b59588cf3
commit c41030663e

View File

@ -11877,17 +11877,19 @@ WOLFSSL_API int wc_PKCS7_DecodeAuthEnvelopedData(PKCS7* pkcs7, byte* in,
#endif #endif
if (expBlockSz == 0) { if (expBlockSz == 0) {
if (GetAlgoId(pkiMsg, &idx, &encOID, oidBlkType, pkiMsgSz) < 0) #ifndef NO_PKCS7_STREAM
{ wc_PKCS7_StreamGetVar(pkcs7, &encOID, NULL, NULL);
ret = ASN_PARSE_E; #endif
break; if (encOID == 0)
} expBlockSz = 1;
else {
expBlockSz = wc_PKCS7_GetOIDBlockSize(encOID); expBlockSz = wc_PKCS7_GetOIDBlockSize(encOID);
if (expBlockSz < 0) { if (expBlockSz < 0) {
ret = expBlockSz; ret = expBlockSz;
break; break;
} }
} }
}
/* AES-GCM/CCM does NOT require padding for plaintext content or /* AES-GCM/CCM does NOT require padding for plaintext content or
* AAD inputs RFC 5084 section 3.1 and 3.2, but we must alloc * AAD inputs RFC 5084 section 3.1 and 3.2, but we must alloc