[Mesa-dev] [Mesa-stable] [PATCH 2/4] egl_dri2: NULL check for xcb_dri2_get_buffers_reply()

Emil Velikov emil.l.velikov at gmail.com
Fri Feb 12 00:03:35 UTC 2016


On 11 February 2016 at 12:03, Tapani Pälli <tapani.palli at intel.com> wrote:
> From: Daniel Czarnowski <daniel.czarnowski at intel.com>
>
> Without the check, unsuccessful xcb_dri2_get_buffers_reply(...) causes
> segmentation fault in dri2_get_buffers.
>
> Signed-off-by: Matt Roper <matthew.d.roper at intel.com>
> Cc: "11.0 11.1" <mesa-stable at lists.freedesktop.org
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>

> ---
>  src/egl/drivers/dri2/platform_x11.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/src/egl/drivers/dri2/platform_x11.c b/src/egl/drivers/dri2/platform_x11.c
> index 08cbf2d..931ee51 100644
> --- a/src/egl/drivers/dri2/platform_x11.c
> +++ b/src/egl/drivers/dri2/platform_x11.c
> @@ -472,6 +472,8 @@ dri2_x11_get_buffers(__DRIdrawable * driDrawable,
>                                             dri2_surf->drawable,
>                                             count, count, attachments);
>     reply = xcb_dri2_get_buffers_reply (dri2_dpy->conn, cookie, NULL);
> +   if (reply == NULL)
> +      return NULL;
Looks great guys. Out of curiosity - did you notice this during
inspection, or there was an application that triggered it ?

Afaics there are a few other cases where we don't null check the reply
before using it. Namely:

src/egl/drivers/dri2/platform_x11.c:dri2_create_image_khr_pixmap(),
buffers_reply -> bugzilla 93667
src/gallium/auxiliary/vl/vl_winsys_dri.c:vl_dri2_get_flush_reply(),
"buffers_reply"

Can you send patch(es) for those or shall I ?

-Emil


More information about the mesa-dev mailing list