aboutsummaryrefslogtreecommitdiff
path: root/render
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2021-04-12 11:58:38 +0200
committerSimon Ser <contact@emersion.fr>2021-04-15 10:49:42 +0200
commit004cf887b70aace0e13db8e38a2c3d4df55852b3 (patch)
treec23b532f2f33b5175da889603e142d49eee8b33b /render
parent1e5460d4c6260e523e08613b767948b68cc36b52 (diff)
render/gles2: prevent imported DMA-BUF textures from being mutated
The compositor shouldn't write to client buffers if the client attaches a DMA-BUF to a wl_surface, then attaches a shm buffer. Make gles2_texture_write_pixels return an error to prevent this from happening.
Diffstat (limited to 'render')
-rw-r--r--render/gles2/texture.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/render/gles2/texture.c b/render/gles2/texture.c
index fe7518d0..d7a052e9 100644
--- a/render/gles2/texture.c
+++ b/render/gles2/texture.c
@@ -53,7 +53,7 @@ static bool gles2_texture_write_pixels(struct wlr_texture *wlr_texture,
const void *data) {
struct wlr_gles2_texture *texture = gles2_get_texture(wlr_texture);
- if (texture->target != GL_TEXTURE_2D) {
+ if (texture->target != GL_TEXTURE_2D || texture->image != EGL_NO_IMAGE_KHR) {
wlr_log(WLR_ERROR, "Cannot write pixels to immutable texture");
return false;
}