DF-3944 / fix.diff
diff --git a/sys/dev/drm/amd/display/dc/core/dc_resource.c b/sys/dev/drm/amd/display/dc/core/dc_resource.c index 5b42ec28..90d5c1cf 100644 --- a/sys/dev/drm/amd/display/dc/core/dc_resource.c +++ b/sys/dev/drm/amd/display/dc/core/dc_resource.c @@ -2152,6 +2152,9 @@ static void patch_gamut_packet_checksum( ptr = &gamut_packet->sb[3]; - for (i = 0; i <= gamut_packet->sb[1]; i++) + for (i = 0; i <= gamut_packet->sb[1]; i++) { + if (i >= sizeof(gamut_packet->sb) - 3) + break; chk_sum += ptr[i]; + } gamut_packet->sb[2] = (uint8_t) (0x100 - chk_sum); |