X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=progs%2Ftabs.c;fp=progs%2Ftabs.c;h=7378d116f70c8f48c90df1357a6aa49f036bd771;hp=02de31c6b1244105b7d5c0c5c9f7d8bf8cf18927;hb=2ef2f5486df4a90e2aa9d7544c79b42bca961066;hpb=87154b424ea0f67c2965d00e861ddfb134082d94 diff --git a/progs/tabs.c b/progs/tabs.c index 02de31c6..7378d116 100644 --- a/progs/tabs.c +++ b/progs/tabs.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright 2020,2021 Thomas E. Dickey * + * Copyright 2020-2021,2022 Thomas E. Dickey * * Copyright 2008-2016,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -39,7 +39,7 @@ #include #include -MODULE_ID("$Id: tabs.c,v 1.50 2021/10/10 00:54:41 tom Exp $") +MODULE_ID("$Id: tabs.c,v 1.51 2022/02/26 22:44:44 tom Exp $") static GCC_NORETURN void usage(void); @@ -128,7 +128,7 @@ decode_tabs(const char *tab_list, int margin) int prior = 0; int ch; - if (result == 0) + if (result == NULL) failed("decode_tabs"); if (margin < 0) @@ -138,6 +138,8 @@ decode_tabs(const char *tab_list, int margin) if (isdigit(UChar(ch))) { value *= 10; value += (ch - '0'); + if (value > max_cols) + value = max_cols; } else if (ch == ',') { result[n] = value + prior + margin; if (n > 0 && result[n] <= result[n - 1]) {