diff --git a/dsp/q6afe.c b/dsp/q6afe.c index 2c99dda740f2..1749856ca95d 100755 --- a/dsp/q6afe.c +++ b/dsp/q6afe.c @@ -11029,6 +11029,9 @@ static int afe_set_cal_sp_th_vi_cfg(int32_t cal_type, size_t data_size, if (cal_data == NULL || data_size > sizeof(*cal_data) || + (data_size < sizeof(cal_data->cal_hdr) + + sizeof(cal_data->cal_data) + + sizeof(cal_data->cal_info.mode)) || this_afe.cal_data[AFE_FB_SPKR_PROT_TH_VI_CAL] == NULL) goto done; @@ -11246,7 +11249,9 @@ static int afe_get_cal_sp_th_vi_param(int32_t cal_type, size_t data_size, if (cal_data == NULL || data_size > sizeof(*cal_data) || - data_size < sizeof(cal_data->cal_hdr) || + (data_size < sizeof(cal_data->cal_hdr) + + sizeof(cal_data->cal_data) + + sizeof(cal_data->cal_info.mode)) || this_afe.cal_data[AFE_FB_SPKR_PROT_TH_VI_CAL] == NULL) return 0;