glamor: pixmap FBO may not be allocated

If `_glamor_create_tex()` fails to allocate the FBO because of
GL_OUT_OF_MEMORY error, the `pixmap_priv->fbo` is NULL.

However, `glamor_get_pixmap_texture()` doesn't actually check whether
the `pixmap_priv->fbo` is NULL and will segfault with a NULL pointer
dereference trying to access the `pixmap_priv->fbo->tex`.

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Closes: https://gitlab.freedesktop.org/xorg/xserver/issues/647
This commit is contained in:
Olivier Fourdan 2019-03-08 18:19:16 +01:00 committed by Eric Anholt
parent 8c4e8d9eff
commit 74479a99ec
1 changed files with 3 additions and 0 deletions

View File

@ -136,6 +136,9 @@ glamor_get_pixmap_texture(PixmapPtr pixmap)
if (!pixmap_priv)
return 0;
if (!pixmap_priv->fbo)
return 0;
if (pixmap_priv->type != GLAMOR_TEXTURE_ONLY)
return 0;