summaryrefslogtreecommitdiff
path: root/src/loader
diff options
context:
space:
mode:
Diffstat (limited to 'src/loader')
-rw-r--r--src/loader/loader.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/loader/loader.c b/src/loader/loader.c
index b4a3ca7fbea..08eeb61504b 100644
--- a/src/loader/loader.c
+++ b/src/loader/loader.c
@@ -612,6 +612,9 @@ loader_open_driver(const char *driver_name,
void *driver = loader_open_driver_lib(driver_name, "_dri", search_path_vars,
DEFAULT_DRIVER_DIR, true);
+ if (!driver)
+ goto failed;
+
get_extensions_name = loader_get_extensions_name(driver_name);
if (get_extensions_name) {
get_extensions = dlsym(driver, get_extensions_name);
@@ -630,8 +633,10 @@ loader_open_driver(const char *driver_name,
log_(_LOADER_WARNING,
"MESA-LOADER: driver exports no extensions (%s)\n", dlerror());
dlclose(driver);
+ driver = NULL;
}
+failed:
*out_driver_handle = driver;
return extensions;
}