DragonFlyBSD Kernel Audit
DF-2146 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/drm/radeon/radeon_dp_auxch.c b/sys/dev/drm/radeon/radeon_dp_auxch.c
--- a/sys/dev/drm/radeon/radeon_dp_auxch.c
+++ b/sys/dev/drm/radeon/radeon_dp_auxch.c
@@ -175,6 +175,8 @@
 	}
 
 	bytes = AUX_SW_REPLY_GET_BYTE_COUNT(tmp);
+	if (bytes > msg->size + 1)
+		bytes = msg->size + 1;
 	if (bytes) {
 		WREG32(AUX_SW_DATA + aux_offset[instance],
 		       AUX_SW_DATA_RW | AUX_SW_AUTOINCREMENT_DISABLE);