[PATCH xserver] composite: Make compIsAlternateVisual safe even if Composite is off
Aaron Plattner
aplattner at nvidia.com
Fri Jul 28 00:27:51 UTC 2017
On 07/27/2017 01:02 PM, Adam Jackson wrote:
> As of ea483af9 we're calling this unconditionally from the GLX code so
> the synthetic visual is in a lower select group. If Composite has been
> disabled then GetCompScreen() will return NULL, and this would crash.
>
> Rather than force the caller to check first, just always return FALSE if
> Composite is disabled (which is correct, since none of the visuals will
> be synthetic in that case).
>
> Signed-off-by: Adam Jackson <ajax at redhat.com>
> ---
> composite/compwindow.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/composite/compwindow.c b/composite/compwindow.c
> index 367f23eb7..f88238146 100644
> --- a/composite/compwindow.c
> +++ b/composite/compwindow.c
> @@ -326,7 +326,7 @@ compIsAlternateVisual(ScreenPtr pScreen, XID visual)
> CompScreenPtr cs = GetCompScreen(pScreen);
> int i;
>
> - for (i = 0; i < cs->numAlternateVisuals; i++)
> + for (i = 0; cs && i < cs->numAlternateVisuals; i++)
I really hope gcc is smart enough to know that cs won't change here and
this check can be hoisted out of the loop.
> if (cs->alternateVisuals[i] == visual)
> return TRUE;
> return FALSE;
>
Sure, can't hurt.
Reviewed-by: Aaron Plattner <aplattner at nvidia.com>
--
nvpublic
More information about the xorg-devel
mailing list