diff --git a/types/wlr_layer_shell_v1.c b/types/wlr_layer_shell_v1.c index 3bb3b91d..ebdf54aa 100644 --- a/types/wlr_layer_shell_v1.c +++ b/types/wlr_layer_shell_v1.c @@ -131,6 +131,12 @@ static void layer_surface_handle_set_size(struct wl_client *client, return; } + if (width > INT32_MAX || height > INT32_MAX) { + wl_client_post_implementation_error(client, + "zwlr_layer_surface_v1.set_size: width and height can't be greater than INT32_MAX"); + return; + } + if (surface->pending.desired_width == width && surface->pending.desired_height == height) { return;