From 857a53e80f9849d17f9080cf38d6bec7e7985aa9 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 7 Jun 2019 09:28:30 +0530 Subject: [PATCH] Dont crash if GLFW gives us obviously erroneous framebuffer sizes Fixes #1696 --- kitty/glfw.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/kitty/glfw.c b/kitty/glfw.c index dbd0100e7..55d3420c2 100644 --- a/kitty/glfw.c +++ b/kitty/glfw.c @@ -44,6 +44,10 @@ update_os_window_viewport(OSWindow *window, bool notify_boss) { if (fw == window->viewport_width && fh == window->viewport_height && w == window->window_width && h == window->window_height) { return; // no change, ignore } + if (fw / w > 5 || fh / h > 5 || fw < min_width || fh < min_height || fw < w || fh < h) { + log_error("Invalid geometry ignored: framebuffer: %dx%d window: %dx%d\n", fw, fh, w, h); + return; + } window->viewport_width = fw; window->viewport_height = fh; double xr = window->viewport_x_ratio, yr = window->viewport_y_ratio; window->viewport_x_ratio = w > 0 ? (double)window->viewport_width / (double)w : xr;