diff options
author | Olivier Fourdan <ofourdan@redhat.com> | 2019-03-08 18:19:16 +0100 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2019-03-11 16:18:26 +0000 |
commit | 74479a99ecf18fdfdafd033b5efd8d785dd12c28 (patch) | |
tree | 9ec3f2a4bfde3c0f293fa818cf19987a0840112f /glamor | |
parent | 8c4e8d9eff03cefc987f13c900b0a47403946127 (diff) |
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
Diffstat (limited to 'glamor')
-rw-r--r-- | glamor/glamor.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/glamor/glamor.c b/glamor/glamor.c index f24cc9fd1..8a9895d95 100644 --- a/glamor/glamor.c +++ b/glamor/glamor.c @@ -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; |