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
