summaryrefslogtreecommitdiff
path: root/glamor
diff options
context:
space:
mode:
authorOlivier Fourdan <ofourdan@redhat.com>2019-03-08 18:19:16 +0100
committerEric Anholt <eric@anholt.net>2019-03-11 16:18:26 +0000
commit74479a99ecf18fdfdafd033b5efd8d785dd12c28 (patch)
tree9ec3f2a4bfde3c0f293fa818cf19987a0840112f /glamor
parent8c4e8d9eff03cefc987f13c900b0a47403946127 (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.c3
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;