rtc: Add checks to set_ref_frame_config Return AOM_CODEC_INVALID_PARAM for invalid inputs. Bug: 363016123 Change-Id: I3f0d488120853c55501325e97ce6595255ed7b86
diff --git a/av1/av1_cx_iface.c b/av1/av1_cx_iface.c index 5308aa2..a550dc2 100644 --- a/av1/av1_cx_iface.c +++ b/av1/av1_cx_iface.c
@@ -3884,11 +3884,18 @@ va_arg(args, aom_svc_ref_frame_config_t *); cpi->ppi->rtc_ref.set_ref_frame_config = 1; for (unsigned int i = 0; i < INTER_REFS_PER_FRAME; ++i) { + if (data->reference[i] != 0 && data->reference[i] != 1) + return AOM_CODEC_INVALID_PARAM; + if (data->ref_idx[i] > 7 || data->ref_idx[i] < 0) + return AOM_CODEC_INVALID_PARAM; cpi->ppi->rtc_ref.reference[i] = data->reference[i]; cpi->ppi->rtc_ref.ref_idx[i] = data->ref_idx[i]; } - for (unsigned int i = 0; i < REF_FRAMES; ++i) + for (unsigned int i = 0; i < REF_FRAMES; ++i) { + if (data->refresh[i] != 0 && data->refresh[i] != 1) + return AOM_CODEC_INVALID_PARAM; cpi->ppi->rtc_ref.refresh[i] = data->refresh[i]; + } cpi->svc.use_flexible_mode = 1; cpi->svc.ksvc_fixed_mode = 0; return AOM_CODEC_OK;