From: Daniel Martin <consume.noise@xxxxxxxxx> 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