Module: Mesa
Branch: master
Commit: 0e7c30233f10d834ee26b7d6d32b397625e11e10
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=0e7c30233f10d834ee26b7d6d32b397625e11e10

Author: Emil Velikov <[email protected]>
Date:   Sat Feb 22 16:20:04 2014 +0000

targets/gbm: exit gracefully if pipe_loader_drm_probe_fd is not available

When one builds without gallium_drm_loader, the above function will
not be available, thus we'll segfault in gallium_screen_create due
to memory access violation.

Tested-by: Tom Stellard <[email protected]>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=75335
Signed-off-by: Emil Velikov <[email protected]>

---

 src/gallium/targets/gbm/gbm.c |    7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/gallium/targets/gbm/gbm.c b/src/gallium/targets/gbm/gbm.c
index deaa401..160cbb8 100644
--- a/src/gallium/targets/gbm/gbm.c
+++ b/src/gallium/targets/gbm/gbm.c
@@ -49,13 +49,14 @@ int
 gallium_screen_create(struct gbm_gallium_drm_device *gdrm)
 {
    struct pipe_loader_device *dev;
-#ifdef HAVE_PIPE_LOADER_DRM
-   int ret;
+   int ret = 0;
 
+#ifdef HAVE_PIPE_LOADER_DRM
    ret = pipe_loader_drm_probe_fd(&dev, gdrm->base.base.fd, true);
+#endif /* HAVE_PIPE_LOADER_DRM */
+
    if (!ret)
       return -1;
-#endif /* HAVE_PIPE_LOADER_DRM */
 
    gdrm->screen = pipe_loader_create_screen(dev, get_library_search_path());
    if (gdrm->screen == NULL) {

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to