libGL: Fall back to DEFAULT_DRIVER_DIR properly.

After commit 6fd82f6fbd, we would
overwrite the libPath default value with NULL if libGL was running
non-setuid and none of the env vars were set.

Thanks to Magnus Kessler <Magnus.Kessler@gmx.net> for spotting it.
This commit is contained in:
Kristian Høgsberg 2008-03-09 16:21:29 -04:00
parent eecb3ab7c6
commit 03db9c8acb

View file

@ -145,13 +145,14 @@ static void *OpenDriver(const char *driverName)
/* Attempt to make sure libGL symbols will be visible to the driver */
glhandle = dlopen("libGL.so.1", RTLD_NOW | RTLD_GLOBAL);
libPaths = DEFAULT_DRIVER_DIR;
if (geteuid() == getuid()) {
/* don't allow setuid apps to use LIBGL_DRIVERS_PATH */
libPaths = getenv("LIBGL_DRIVERS_PATH");
if (!libPaths)
libPaths = getenv("LIBGL_DRIVERS_DIR"); /* deprecated */
}
if (libPaths == NULL)
libPaths = DEFAULT_DRIVER_DIR;
handle = NULL;
for (p = libPaths; *p; p = next) {