From ad4dae08443dbbe1609b215f9bf375024d32f43c Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Tue, 15 Dec 2020 12:26:00 +0100 Subject: backend/drm: error on size mismatch in drm_surface_blit --- backend/drm/renderer.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'backend/drm') diff --git a/backend/drm/renderer.c b/backend/drm/renderer.c index b4dddd2a..c3d7e638 100644 --- a/backend/drm/renderer.c +++ b/backend/drm/renderer.c @@ -146,6 +146,12 @@ static struct wlr_buffer *drm_surface_blit(struct wlr_drm_surface *surf, struct wlr_buffer *buffer) { struct wlr_renderer *renderer = surf->renderer->wlr_rend; + if (surf->width != (uint32_t)buffer->width || + surf->height != (uint32_t)buffer->height) { + wlr_log(WLR_ERROR, "Surface size doesn't match buffer size"); + return NULL; + } + struct wlr_dmabuf_attributes attribs = {0}; if (!wlr_buffer_get_dmabuf(buffer, &attribs)) { return NULL; -- cgit v1.2.3