while (b_data(&b)) {
if (!b_quic_dec_int(&id, &b, &ret) || !b_quic_dec_int(&value, &b, &ret)) {
h3c->err = H3_ERR_FRAME_ERROR;
- qcc_report_glitch(h3c->qcc, 1);
return -1;
}
if (id < sizeof(mask)) {
if (ha_bit_test(id, &mask)) {
h3c->err = H3_ERR_SETTINGS_ERROR;
- qcc_report_glitch(h3c->qcc, 1);
return -1;
}
ha_bit_set(id, &mask);
* H3_SETTINGS_ERROR.
*/
h3c->err = H3_ERR_SETTINGS_ERROR;
- qcc_report_glitch(h3c->qcc, 1);
return -1;
default:
/* MUST be ignored */
if (ret < 0) {
TRACE_ERROR("error on SETTINGS parsing", H3_EV_RX_FRAME, qcs->qcc->conn, qcs);
qcc_set_error(qcs->qcc, h3c->err, 1, muxc_tevt_type_proto_err);
+ qcc_report_glitch(qcs->qcc, 1);
goto err;
}
h3c->flags |= H3_CF_SETTINGS_RECV;