[PATCH xserver] composite: Make compIsAlternateVisual safe even if Composite is off

walter harms wharms at bfs.de
Fri Jul 28 07:16:21 UTC 2017



Am 27.07.2017 22:02, schrieb Adam Jackson:
> 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++)
>          if (cs->alternateVisuals[i] == visual)
>              return TRUE;
>      return FALSE;

IMHO this would be more readable:

	cs = GetCompScreen(pScreen);
	if (!cs)
	    return FALSE;

       for()...


just my 2 cents ...

re,
 wh


More information about the xorg-devel mailing list