From: Emil Velikov Date: Mon, 31 Jul 2017 18:46:22 +0000 (+0100) Subject: st/dri: NULL check before deref DRI loader .getCapability X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=31a6750988d7dd431f72ff1ff11bfca83bde5d8c;p=mesa.git 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: 1bf703e4ea5 ("dri_interface,egl,gallium: only expose RGBA visuals on Android") Cc: 17.2 Signed-off-by: Emil Velikov Reviewed-by: Marek Olšák --- diff --git a/src/gallium/state_trackers/dri/dri_screen.c b/src/gallium/state_trackers/dri/dri_screen.c index f888abd6e70..b992d24068b 100644 --- a/src/gallium/state_trackers/dri/dri_screen.c +++ b/src/gallium/state_trackers/dri/dri_screen.c @@ -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;