From 52afedadea9f4009712af7e21d9ef514cdf04517 Mon Sep 17 00:00:00 2001 From: Alexander Orzechowski Date: Fri, 23 Aug 2024 16:53:32 -0400 Subject: [PATCH] wlr_scene: Assert wlr_scene_rect has nonnegative dimensions --- types/scene/wlr_scene.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/types/scene/wlr_scene.c b/types/scene/wlr_scene.c index bc776fdd9..713bfdfd0 100644 --- a/types/scene/wlr_scene.c +++ b/types/scene/wlr_scene.c @@ -691,11 +691,13 @@ static void scene_node_update(struct wlr_scene_node *node, struct wlr_scene_rect *wlr_scene_rect_create(struct wlr_scene_tree *parent, int width, int height, const float color[static 4]) { + assert(parent); + assert(width >= 0 && height >= 0); + struct wlr_scene_rect *scene_rect = calloc(1, sizeof(*scene_rect)); if (scene_rect == NULL) { return NULL; } - assert(parent); scene_node_init(&scene_rect->node, WLR_SCENE_NODE_RECT, parent); scene_rect->width = width; @@ -712,6 +714,8 @@ void wlr_scene_rect_set_size(struct wlr_scene_rect *rect, int width, int height) return; } + assert(width >= 0 && height >= 0); + rect->width = width; rect->height = height; scene_node_update(&rect->node, NULL);