[PATCH xf86-video-ati 2/3] modesetting: Reset output_id if drmModeGetConnector failed

Michel Dänzer michel at daenzer.net
Fri Mar 2 11:17:33 UTC 2018


From: Daniel Martin <consume.noise at gmail.com>

If drmModeGetConnector() fails in drmmode_output_detect(), we have to
reset the output_id to -1 too.

Yet another spot leading to a potential NULL dereference when handling
the mode_output member as output_id was != -1. Though, this case should
be very hard to hit.

Signed-off-by: Daniel Martin <consume.noise at gmail.com>

(Ported from amdgpu commit 10054b6c3d9a755b30abb43020121b9631fa296d)

Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
---
 src/drmmode_display.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index 606f3f900..525ded256 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -1424,9 +1424,12 @@ drmmode_output_detect(xf86OutputPtr output)
 	xf86OutputStatus status;
 	drmModeFreeConnector(drmmode_output->mode_output);
 
-	drmmode_output->mode_output = drmModeGetConnector(pRADEONEnt->fd, drmmode_output->output_id);
-	if (!drmmode_output->mode_output)
+	drmmode_output->mode_output =
+	    drmModeGetConnector(pRADEONEnt->fd, drmmode_output->output_id);
+	if (!drmmode_output->mode_output) {
+		drmmode_output->output_id = -1;
 		return XF86OutputStatusDisconnected;
+	}
 
 	switch (drmmode_output->mode_output->connection) {
 	case DRM_MODE_CONNECTED:
-- 
2.16.2



More information about the amd-gfx mailing list