st/dri: NULL check before deref DRI loader .getCapability

One could have vX+1 which introduces another entrypoint without
implementing older ones.

v2: Rebase, while keeping loaderPrivate

Fixes: 1bf703e4ea ("dri_interface,egl,gallium: only expose RGBA visuals
on Android")
Cc: 17.2 <mesa-stable@lists.freedesktop.org>
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
Emil Velikov 2017-07-31 19:46:22 +01:00 committed by Emil Velikov
parent dd9eb8db13
commit 31a6750988
1 changed files with 4 additions and 2 deletions

View File

@ -93,10 +93,12 @@ dri_loader_get_cap(struct dri_screen *screen, enum dri_loader_cap cap)
const __DRIdri2LoaderExtension *dri2_loader = screen->sPriv->dri2.loader;
const __DRIimageLoaderExtension *image_loader = screen->sPriv->image.loader;
if (dri2_loader && dri2_loader->base.version >= 4)
if (dri2_loader && dri2_loader->base.version >= 4 &&
dri2_loader->getCapability)
return dri2_loader->getCapability(screen->sPriv->loaderPrivate, cap);
if (image_loader && image_loader->base.version >= 2)
if (image_loader && image_loader->base.version >= 2 &&
image_loader->getCapability)
return image_loader->getCapability(screen->sPriv->loaderPrivate, cap);
return 0;