DF-1414 / fix.diff
diff --git a/sys/dev/drm/amd/display/dc/bios/bios_parser2.c b/sys/dev/drm/amd/display/dc/bios/bios_parser2.c --- a/sys/dev/drm/amd/display/dc/bios/bios_parser2.c +++ b/sys/dev/drm/amd/display/dc/bios/bios_parser2.c @@ -159,7 +159,10 @@ unsigned int count = 0; unsigned int i; - for (i = 0; i < bp->object_info_tbl.v1_4->number_of_path; i++) { + uint8_t num_path = min(bp->object_info_tbl.v1_4->number_of_path, + (uint8_t)ARRAY_SIZE(bp->object_info_tbl.v1_4->display_path)); + + for (i = 0; i < num_path; i++) { if (bp->object_info_tbl.v1_4->display_path[i].encoderobjid != 0) count++; } |