DF-4216 / fix.diff
--- a/sys/dev/drm/amd/display/dc/core/dc.c +++ b/sys/dev/drm/amd/display/dc/core/dc.c @@ -1737,11 +1737,18 @@ struct dc *dc, uint32_t link_index, struct i2c_command *cmd) { - struct dc_link *link = dc->links[link_index]; + struct dc_link *link; + + if (link_index >= dc->link_count) { + DC_ERROR("dc_submit_i2c: invalid link index %u (max %u)\n", + link_index, dc->link_count); + return false; + } + link = dc->links[link_index]; struct ddc_service *ddc = link->ddc; return dce_i2c_submit_command( dc->res_pool, ddc->ddc_pin, cmd); |