From 664ec59095996662ad7c158c64a2d5dfc50f58a1 Mon Sep 17 00:00:00 2001 From: Alexander Orzechowski Date: Wed, 2 Aug 2023 11:51:53 -0400 Subject: [PATCH] renderer: Sanity check texture source bounds --- render/pass.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/render/pass.c b/render/pass.c index 650353cb..444f964e 100644 --- a/render/pass.c +++ b/render/pass.c @@ -26,6 +26,15 @@ bool wlr_render_pass_submit(struct wlr_render_pass *render_pass) { void wlr_render_pass_add_texture(struct wlr_render_pass *render_pass, const struct wlr_render_texture_options *options) { + // make sure the texture source box does not try and sample outside of the + // texture + if (!wlr_fbox_empty(&options->src_box)) { + const struct wlr_fbox *box = &options->src_box; + assert(box->x >= 0 && box->y >= 0 && + box->x + box->width <= options->texture->width && + box->y + box->height <= options->texture->height); + } + render_pass->impl->add_texture(render_pass, options); }