DragonFlyBSD Kernel Audit
DF-1776 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/drm/radeon/radeon_dp_mst.c b/sys/dev/drm/radeon/radeon_dp_mst.c
--- a/sys/dev/drm/radeon/radeon_dp_mst.c
+++ b/sys/dev/drm/radeon/radeon_dp_mst.c
@@ -673,7 +673,7 @@
 	struct drm_device *dev = radeon_connector->base.dev;
 	struct radeon_device *rdev = dev->dev_private;
 	int ret;
-	u8 msg[1];
+	u8 msg[1] = { 0 };
 
 	if (!radeon_mst)
 		return 0;
@@ -686,7 +686,7 @@
 
 	ret = drm_dp_dpcd_read(&radeon_connector->ddc_bus->aux, DP_MSTM_CAP, msg,
 			       1);
-	if (ret) {
+	if (ret == 1) {
 		if (msg[0] & DP_MST_CAP) {
 			DRM_DEBUG_KMS("Sink is MST capable\n");
 			dig_connector->is_mst = true;