From: Nicolai Hähnle Date: Fri, 27 Jan 2017 10:58:41 +0000 (+0100) Subject: glx/dri3: handle NULL pointers in loader-to-DRI3 drawable conversion X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=40c304fc065259c07c0f4f7a35efedd205e4f250;p=mesa.git glx/dri3: handle NULL pointers in loader-to-DRI3 drawable conversion With a subsequent patch, we might see NULL loaderPrivates, e.g. when a DRIdrawable is flushed whose corresponding GLXDRIdrawable was destroyed. This resulted in a crash, since the loader vs. DRI3 drawable structures have a non-zero offset. Fixes glx-visuals-{depth,stencil} -pixmap Cc: 17.0 Reviewed-by: Marek Olšák Reviewed-by: Emil Velikov --- diff --git a/src/glx/dri3_glx.c b/src/glx/dri3_glx.c index 4472a0bed26..f7bcba32f3e 100644 --- a/src/glx/dri3_glx.c +++ b/src/glx/dri3_glx.c @@ -81,6 +81,8 @@ static struct dri3_drawable * loader_drawable_to_dri3_drawable(struct loader_dri3_drawable *draw) { size_t offset = offsetof(struct dri3_drawable, loader_drawable); + if (!draw) + return NULL; return (struct dri3_drawable *)(((void*) draw) - offset); }