DF-1415 / fix.diff
diff --git a/sys/dev/drm/amd/display/dc/bios/bios_parser.c b/sys/dev/drm/amd/display/dc/bios/bios_parser.c --- a/sys/dev/drm/amd/display/dc/bios/bios_parser.c +++ b/sys/dev/drm/amd/display/dc/bios/bios_parser.c @@ -1812,6 +1812,8 @@ count = (le16_to_cpu(header->sHeader.usStructureSize) - sizeof(ATOM_COMMON_TABLE_HEADER)) / sizeof(ATOM_GPIO_PIN_ASSIGNMENT); + if (count > ARRAY_SIZE(header->asGPIO_Pin)) + count = ARRAY_SIZE(header->asGPIO_Pin); for (i = 0; i < count; ++i) { if (header->asGPIO_Pin[i].ucGPIO_ID != gpio_id) continue; |