return 0;
uint32_t processed_len = 0;
+ /* coverity[tainted_data] */
while (processed_len < cert_chain_len)
{
if (!(HAS_SPACE(3)))
/* only store fields from the first certificate in the chain */
if (processed_len == 0) {
+ /* coverity[tainted_data] */
cert = DecodeDer(input, cert_len, &err);
if (cert == NULL) {
TlsDecodeHSCertificateErrSetEvent(ssl_state, err);
return -1;
uint16_t processed_len = 0;
+ /* coverity[tainted_data] */
while (processed_len < cipher_suites_length)
{
if (!(HAS_SPACE(2))) {
if ((ssl_state->current_flags & SSL_AL_FLAG_STATE_CLIENT_HELLO) &&
ssl_config.enable_ja3) {
uint16_t ec_processed_len = 0;
+ /* coverity[tainted_data] */
while (ec_processed_len < elliptic_curves_len)
{
uint16_t elliptic_curve = *input << 8 | *(input + 1);
if ((ssl_state->current_flags & SSL_AL_FLAG_STATE_CLIENT_HELLO) &&
ssl_config.enable_ja3) {
uint8_t ec_pf_processed_len = 0;
+ /* coverity[tainted_data] */
while (ec_pf_processed_len < ec_pf_len)
{
uint8_t elliptic_curve_pf = *input;
goto invalid_length;
uint16_t processed_len = 0;
+ /* coverity[tainted_data] */
while (processed_len < extensions_len)
{
if (!(HAS_SPACE(2)))
switch (ext_type) {
case SSL_EXTENSION_SNI:
{
+ /* coverity[tainted_data] */
ret = TLSDecodeHSHelloExtensionSni(ssl_state, input,
input_len - parsed);
if (ret < 0)
case SSL_EXTENSION_ELLIPTIC_CURVES:
{
+ /* coverity[tainted_data] */
ret = TLSDecodeHSHelloExtensionEllipticCurves(ssl_state, input,
input_len - parsed,
ja3_elliptic_curves);
case SSL_EXTENSION_EC_POINT_FORMATS:
{
+ /* coverity[tainted_data] */
ret = TLSDecodeHSHelloExtensionEllipticCurvePF(ssl_state, input,
input_len - parsed,
ja3_elliptic_curves_pf);