aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backend/x11/output.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/backend/x11/output.c b/backend/x11/output.c
index 63dfb110..fabe9e98 100644
--- a/backend/x11/output.c
+++ b/backend/x11/output.c
@@ -166,6 +166,10 @@ static struct wlr_x11_buffer *create_x11_buffer(struct wlr_x11_output *output,
xcb_pixmap_t pixmap = xcb_generate_id(x11->xcb);
if (x11->dri3_major_version > 1 || x11->dri3_minor_version >= 2) {
+ if (attrs.n_planes > 4) {
+ wlr_dmabuf_attributes_finish(&dup_attrs);
+ return NULL;
+ }
xcb_dri3_pixmap_from_buffers(x11->xcb, pixmap, output->win,
attrs.n_planes, attrs.width, attrs.height, attrs.stride[0],
attrs.offset[0], attrs.stride[1], attrs.offset[1], attrs.stride[2],