[hackers] [st][PATCH] Set minimum window size to avoid crash when resizing out of bounds

From: <michaelbuch12_AT_gmail.com>
Date: Wed, 16 May 2018 21:36:03 +0100

From: Michael Buch <michaelbuch12_AT_gmail.com>

The termianl window is created without lower/upper bounds for window width/height. On resizing the terminal to a size of 1x1 or below we crash. This patch sets the minimum window height and width to prevent resizing past this size thus handling the scenario similar to other terminals.
---
 x.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/x.c b/x.c
index c0bd890..00ea444 100644
--- a/x.c
+++ b/x.c
_AT_@ -788,15 +788,17 @@ xhints(void)
 
 	sizeh = XAllocSizeHints();
 
-	sizeh->flags = PSize | PResizeInc | PBaseSize;
+	sizeh->flags = PSize | PResizeInc | PBaseSize | PMinSize;
 	sizeh->height = win.h;
 	sizeh->width = win.w;
 	sizeh->height_inc = win.ch;
 	sizeh->width_inc = win.cw;
 	sizeh->base_height = 2 * borderpx;
 	sizeh->base_width = 2 * borderpx;
+	sizeh->min_height = 2 * win.ch;
+	sizeh->min_width = 2 * win.cw;
 	if (xw.isfixed) {
-		sizeh->flags |= PMaxSize | PMinSize;
+		sizeh->flags |= PMaxSize;
 		sizeh->min_width = sizeh->max_width = win.w;
 		sizeh->min_height = sizeh->max_height = win.h;
 	}
-- 
2.17.0
Received on Wed May 16 2018 - 22:36:03 CEST

This archive was generated by hypermail 2.3.0 : Wed May 16 2018 - 22:48:18 CEST