scan-build fixes for wc_PKCS7_DecodeEnvelopedData()

This commit is contained in:
Chris Conlon
2020-03-03 10:27:22 -07:00
parent d8eeefb4b7
commit 44d2fc55e6

View File

@ -10317,22 +10317,22 @@ WOLFSSL_API int wc_PKCS7_DecodeEnvelopedData(PKCS7* pkcs7, byte* in,
if (GetASNTag(pkiMsg, &idx, &tag, pkiMsgSz) < 0) { if (GetASNTag(pkiMsg, &idx, &tag, pkiMsgSz) < 0) {
ret = ASN_PARSE_E; ret = ASN_PARSE_E;
break;
} }
if (tag != ASN_OCTET_STRING) { if (ret == 0 && (tag != ASN_OCTET_STRING)) {
ret = ASN_PARSE_E; ret = ASN_PARSE_E;
break;
} }
if (ret == 0 && GetLength(pkiMsg, &idx, if (ret == 0 && GetLength(pkiMsg, &idx,
&encryptedContentSz, pkiMsgSz) <= 0) { &encryptedContentSz, pkiMsgSz) <= 0) {
ret = ASN_PARSE_E; ret = ASN_PARSE_E;
break;
} }
ret = PKCS7_CacheEncryptedContent(pkcs7, &pkiMsg[idx], if (ret == 0) {
encryptedContentSz); ret = PKCS7_CacheEncryptedContent(pkcs7, &pkiMsg[idx],
encryptedContentSz);
}
if (ret != 0) { if (ret != 0) {
break; break;
} }
@ -10340,6 +10340,11 @@ WOLFSSL_API int wc_PKCS7_DecodeEnvelopedData(PKCS7* pkcs7, byte* in,
/* advance idx past encrypted content */ /* advance idx past encrypted content */
idx += encryptedContentSz; idx += encryptedContentSz;
} }
if (ret != 0) {
break;
}
} else { } else {
/* cache encrypted content, no OCTET STRING */ /* cache encrypted content, no OCTET STRING */
ret = PKCS7_CacheEncryptedContent(pkcs7, &pkiMsg[idx], ret = PKCS7_CacheEncryptedContent(pkcs7, &pkiMsg[idx],