]> granicus.if.org Git - procps-ng/commitdiff
top: Impose a minimum on Screen_cols.
authorQualys Security Advisory <qsa@qualys.com>
Thu, 1 Jan 1970 00:00:00 +0000 (00:00 +0000)
committerCraig Small <csmall@enc.com.au>
Fri, 18 May 2018 21:33:15 +0000 (07:33 +1000)
The safety of the critical function task_show() depends on the sanity of
Screen_cols. Just copy the tests on w_cols to Screen_cols (from the same
function adj_geometry()).

top/top.c

index 1671672929aa20feeb197f0ba7d2560d277a64f2..196df32e2040b7af8e0fdf930ce123ced71c8183 100644 (file)
--- a/top/top.c
+++ b/top/top.c
@@ -1975,7 +1975,8 @@ static void adj_geometry (void) {
 #endif
 
    // we might disappoint some folks (but they'll deserve it)
-   if (SCREENMAX < Screen_cols) Screen_cols = SCREENMAX;
+   if (Screen_cols > SCREENMAX) Screen_cols = SCREENMAX;
+   if (Screen_cols < W_MIN_COL) Screen_cols = W_MIN_COL;
 
    if (!w_set) {
       if (Width_mode > 0)              // -w with arg, we'll try to honor