Blame SOURCES/0001-modesetting-Validate-the-atom-for-enum-properties.patch

a3e08e
From d4995a3936ae283b9080fdaa0905daa669ebacfc Mon Sep 17 00:00:00 2001
a3e08e
From: Adam Jackson <ajax@redhat.com>
a3e08e
Date: Mon, 12 Jun 2017 14:43:23 -0400
a3e08e
Subject: [PATCH xserver] modesetting: Validate the atom for enum properties
a3e08e
a3e08e
The client could have said anything here, and if what they said doesn't
a3e08e
actually name an atom NameForAtom() will return NULL, and strcmp() will
a3e08e
be unhappy about that.
a3e08e
a3e08e
Signed-off-by: Adam Jackson <ajax@redhat.com>
a3e08e
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
a3e08e
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
a3e08e
---
a3e08e
 hw/xfree86/drivers/modesetting/drmmode_display.c | 3 ++-
a3e08e
 1 file changed, 2 insertions(+), 1 deletion(-)
a3e08e
a3e08e
diff --git a/hw/xfree86/drivers/modesetting/drmmode_display.c b/hw/xfree86/drivers/modesetting/drmmode_display.c
a3e08e
index aa6baae09..961b56127 100644
a3e08e
--- a/hw/xfree86/drivers/modesetting/drmmode_display.c
a3e08e
+++ b/hw/xfree86/drivers/modesetting/drmmode_display.c
a3e08e
@@ -1557,7 +1557,8 @@ drmmode_output_set_property(xf86OutputPtr output, Atom property,
a3e08e
                 value->size != 1)
a3e08e
                 return FALSE;
a3e08e
             memcpy(&atom, value->data, 4);
a3e08e
-            name = NameForAtom(atom);
a3e08e
+            if (!(name = NameForAtom(atom)))
a3e08e
+                return FALSE;
a3e08e
 
a3e08e
             /* search for matching name string, then set its value down */
a3e08e
             for (j = 0; j < p->mode_prop->count_enums; j++) {
a3e08e
-- 
a3e08e
2.13.0
a3e08e