⬢ DragonFlyBSD Kernel Audit
DF-5036 / fix.diff
← back to finding ↓ download raw
--- a/sys/dev/drm/amd/display/dc/i2caux/dce110/i2caux_dce110.c	2026-09-26 06:51:12.857551787 +0000
+++ b/sys/dev/drm/amd/display/dc/i2caux/dce110/i2caux_dce110.c	2026-09-26 06:51:39.593203294 +0000
@@ -209,6 +209,12 @@
 	const struct dce110_i2c_hw_engine_mask *i2c_mask)
 {
 	uint32_t i = 0;
+
+	/* hw_ddc_lines/hw_aux_lines below are callee-static (6 entries):
+	 * never let a caller-supplied count walk past them. */
+	if (num_i2caux_inst > ARRAY_SIZE(hw_ddc_lines))
+		num_i2caux_inst = ARRAY_SIZE(hw_ddc_lines);
+
 	uint32_t reference_frequency = 0;
 	bool use_i2c_sw_engine = false;
 	struct i2caux *base = NULL;