DragonFlyBSD Kernel Audit
DF-1967 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c b/sys/dev/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
--- a/sys/dev/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
+++ b/sys/dev/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
@@ -344,6 +344,11 @@
 		master->connector_id);
 
 	aconnector->mst_encoder = dm_dp_create_fake_mst_encoder(master);
+	if (!aconnector->mst_encoder) {
+		drm_connector_cleanup(connector);
+		kfree(aconnector);
+		return DRM_MODE_CONNECTOR_DisplayPort;
+	}
 	drm_connector_attach_encoder(&aconnector->base,
 				     &aconnector->mst_encoder->base);