From ebd4c83cd6699c606e57f141187984f0818a2973 Mon Sep 17 00:00:00 2001 From: Kirill Primak Date: Sat, 17 Sep 2022 10:16:07 +0300 Subject: xdg-toplevel: validate resize_edge --- types/xdg_shell/wlr_xdg_toplevel.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/types/xdg_shell/wlr_xdg_toplevel.c b/types/xdg_shell/wlr_xdg_toplevel.c index 58acec27..f84f41af 100644 --- a/types/xdg_shell/wlr_xdg_toplevel.c +++ b/types/xdg_shell/wlr_xdg_toplevel.c @@ -285,6 +285,13 @@ static void xdg_toplevel_handle_resize(struct wl_client *client, struct wlr_seat_client *seat = wlr_seat_client_from_resource(seat_resource); + if (edges > XDG_TOPLEVEL_RESIZE_EDGE_BOTTOM_RIGHT) { + wl_resource_post_error(toplevel->base->resource, + XDG_TOPLEVEL_ERROR_INVALID_RESIZE_EDGE, + "provided value is not a valid variant of the resize_edge enum"); + return; + } + if (!toplevel->base->configured) { wl_resource_post_error(toplevel->base->resource, XDG_SURFACE_ERROR_NOT_CONSTRUCTED, -- cgit v1.2.3