[Mesa-dev] [PATCH] glx: Properly handle cases where screen creation fails
Kyriazis, George
george.kyriazis at intel.com
Wed Feb 21 17:36:00 UTC 2018
Chuck,
In which cases do you hit this? When an architecture is not supported, then swr_create_screen() falls back to a different (older) architecture.
Thanks,
George
> On Feb 21, 2018, at 8:26 AM, Chuck Atkins <chuck.atkins at kitware.com> wrote:
>
> This fixes a segfault exposed by a29d63ecf7 which occurs when swr is
> used on an unsupported architecture.
>
> Signed-off-by: Chuck Atkins <chuck.atkins at kitware.com>
> Cc: mesa-stable at lists.freedesktop.org
> Cc: George Kyriazis <george.kyriazis at intel.com>
> Cc: Bruce Cherniak <bruce.cherniak at intel.com>
> ---
> src/gallium/state_trackers/glx/xlib/xm_api.c | 11 +++++++----
> 1 file changed, 7 insertions(+), 4 deletions(-)
>
> diff --git a/src/gallium/state_trackers/glx/xlib/xm_api.c b/src/gallium/state_trackers/glx/xlib/xm_api.c
> index 934c0aba11..3aec57e85d 100644
> --- a/src/gallium/state_trackers/glx/xlib/xm_api.c
> +++ b/src/gallium/state_trackers/glx/xlib/xm_api.c
> @@ -182,9 +182,12 @@ xmesa_close_display(Display *display)
> * }
> */
>
> - if (xmdpy->smapi->destroy)
> - xmdpy->smapi->destroy(xmdpy->smapi);
> - free(xmdpy->smapi);
> + if (xmdpy->smapi)
> + {
> + if (xmdpy->smapi->destroy)
> + xmdpy->smapi->destroy(xmdpy->smapi);
> + free(xmdpy->smapi);
> + }
>
> XFree((char *) info);
> }
> @@ -767,7 +770,7 @@ XMesaVisual XMesaCreateVisual( Display *display,
> XMesaVisual v;
> GLint red_bits, green_bits, blue_bits, alpha_bits;
>
> - if (!xmdpy)
> + if (!xmdpy || !xmdpy->screen)
> return NULL;
>
> /* For debugging only */
> --
> 2.14.3
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list