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>
---
 hw/xfree86/drivers/modesetting/drmmode_display.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/hw/xfree86/drivers/modesetting/drmmode_display.c 
b/hw/xfree86/drivers/modesetting/drmmode_display.c
index 404bb1dc2..3b8107359 100644
--- a/hw/xfree86/drivers/modesetting/drmmode_display.c
+++ b/hw/xfree86/drivers/modesetting/drmmode_display.c
@@ -1151,8 +1151,10 @@ drmmode_output_detect(xf86OutputPtr output)
 
     drmmode_output->mode_output =
         drmModeGetConnector(drmmode->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.13.6

_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to