summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@redhat.com>2008-11-06 10:36:44 -0500
committerKristian Høgsberg <krh@redhat.com>2008-11-06 10:57:50 -0500
commit062efc5b5fcd14603f308b8effa7a7261d2ca561 (patch)
treef9486e4629cff4496dbc0932d6dabe23ebc56ad9
parente05da6309fd1e0be68f4fc083a58ff343c25c57e (diff)
Fix a double free, print errors if dlopen fails.
-rw-r--r--eagle.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/eagle.c b/eagle.c
index eb95746..7b60cc2 100644
--- a/eagle.c
+++ b/eagle.c
@@ -97,11 +97,14 @@ eglLoadDriver(EGLDisplay display, const char *driverName)
path, driverName);
display->driver = dlopen(filename, RTLD_LAZY | RTLD_LOCAL);
- if (display->driver == NULL)
+ if (display->driver == NULL) {
+ fprintf(stderr, "dlopen: %s\n", dlerror());
return -1;
+ }
extensions = dlsym(display->driver, __DRI_DRIVER_EXTENSIONS);
if (extensions == NULL) {
+ fprintf(stderr, "dlsym: %s\n", dlerror());
dlclose(display->driver);
return -1;
}
@@ -178,7 +181,6 @@ eglInitDisplay(EGLDisplay display, const char *device, const char *driver)
fail:
close(display->fd);
- free(display);
return -1;
}