From b8615d592700b7be319c04cc0563fdeb5a266534 Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Sat, 12 Jun 2010 08:19:16 -0700 Subject: [PATCH] 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 Reviewed-by: Tiago Vignatti Signed-off-by: Keith Packard --- hw/xfree86/common/xf86Helper.c | 7 +++++++ 1 file changed, 7 insertions(+) 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 @@ -1440,6 +1440,13 @@ xf86MatchDevice(const char *drivername, GDevPtr **sectlist) if (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