summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Coopersmith <alan.coopersmith@oracle.com>2010-06-12 08:19:16 -0700
committerKeith Packard <keithp@keithp.com>2010-06-18 14:36:54 -0700
commitb8615d592700b7be319c04cc0563fdeb5a266534 (patch)
treebacb6c1b7e344f7c04565d64f3f99d5e604977db
parent32fd57509c3e06f63ac6b0ad607767fd2b688e5a (diff)
Don't coredump on "X -showopts" (bug 25874)
Don't try walking the xf86ConfigLayout.screens table if it's empty https://bugs.freedesktop.org/show_bug.cgi?id=25874 Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com> Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r--hw/xfree86/common/xf86Helper.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/hw/xfree86/common/xf86Helper.c b/hw/xfree86/common/xf86Helper.c
index cd4891480..07f9f0a52 100644
--- a/hw/xfree86/common/xf86Helper.c
+++ b/hw/xfree86/common/xf86Helper.c
@@ -1441,6 +1441,13 @@ xf86MatchDevice(const char *drivername, GDevPtr **sectlist)
*sectlist = NULL;
/*
+ * This can happen when running Xorg -showopts and a module like ati
+ * or vmware tries to load its submodules when xf86ConfigLayout is empty
+ */
+ if (!xf86ConfigLayout.screens)
+ return 0;
+
+ /*
* This is a very important function that matches the device sections
* as they show up in the config file with the drivers that the server
* loads at run time.