From: Daniel Martin <consume.no...@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.no...@gmail.com>

(Ported from xserver commit 6804875662363764683a86c1614e4cf3cc70a20a)

Signed-off-by: Michel Dänzer <michel.daen...@amd.com>
---
 src/drmmode_display.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index 98d2039d0..a90fdb642 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -1378,8 +1378,10 @@ static xf86OutputStatus 
drmmode_output_detect(xf86OutputPtr output)
 
        drmmode_output->mode_output =
            drmModeGetConnector(pAMDGPUEnt->fd, drmmode_output->output_id);
-       if (!drmmode_output->mode_output)
+       if (!drmmode_output->mode_output) {
+               drmmode_output->output_id = -1;
                return XF86OutputStatusDisconnected;
+       }
 
        switch (drmmode_output->mode_output->connection) {
        case DRM_MODE_CONNECTED:
-- 
2.16.1

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to