summaryrefslogtreecommitdiff
path: root/system/ncurses/ncurses-6.3-20220226.patch
diff options
context:
space:
mode:
authorSíle Ekaterin Liszka <sheila@vulpine.house>2023-03-06 16:56:55 +0000
committerA. Wilcox <awilcox@wilcox-tech.com>2023-03-31 05:35:55 +0000
commit3ba13955058b530a9088fb83ea436ea62677d5be (patch)
treed4a9da73d4aa8f015217c3bd5e95a2bc10b020c1 /system/ncurses/ncurses-6.3-20220226.patch
parent9a0774c0c6b32ac95e3d5ce10164c0025db41872 (diff)
downloadpackages-3ba13955058b530a9088fb83ea436ea62677d5be.tar.gz
packages-3ba13955058b530a9088fb83ea436ea62677d5be.tar.bz2
packages-3ba13955058b530a9088fb83ea436ea62677d5be.tar.xz
packages-3ba13955058b530a9088fb83ea436ea62677d5be.zip
system/ncurses: upgrade to 6.4 [CVE]
Diffstat (limited to 'system/ncurses/ncurses-6.3-20220226.patch')
-rw-r--r--system/ncurses/ncurses-6.3-20220226.patch566
1 files changed, 0 insertions, 566 deletions
diff --git a/system/ncurses/ncurses-6.3-20220226.patch b/system/ncurses/ncurses-6.3-20220226.patch
deleted file mode 100644
index 2f0c9c0be..000000000
--- a/system/ncurses/ncurses-6.3-20220226.patch
+++ /dev/null
@@ -1,566 +0,0 @@
-# ncurses 6.3 - patch 20220226 - Thomas E. Dickey
-#
-# ------------------------------------------------------------------------------
-#
-# Ncurses 6.3 is at
-# ftp://ftp.invisible-island.net/ncurses/
-# https://invisible-mirror.net/archives/ncurses/
-# https://ftp.gnu.org/gnu/ncurses/
-#
-# Patches for ncurses 6.3 can be found at
-# ftp://ftp.invisible-island.net/ncurses/6.3
-# https://invisible-mirror.net/archives/ncurses/6.3
-#
-# ------------------------------------------------------------------------------
-# ftp://ftp.invisible-island.net/ncurses/6.3/ncurses-6.3-20220226.patch.gz
-# patch by Thomas E. Dickey <dickey@invisible-island.net>
-# created Sun Feb 27 01:00:55 UTC 2022
-# ------------------------------------------------------------------------------
-# NEWS | 13 ++++++-
-# VERSION | 2 -
-# c++/cursslk.cc | 6 ++-
-# dist.mk | 4 +-
-# ncurses/tinfo/alloc_entry.c | 67 ++++++++++++++++++++-----------------
-# ncurses/tinfo/write_entry.c | 6 +--
-# package/debian-mingw/changelog | 4 +-
-# package/debian-mingw64/changelog | 4 +-
-# package/debian/changelog | 4 +-
-# package/mingw-ncurses.nsi | 4 +-
-# package/mingw-ncurses.spec | 2 -
-# package/ncurses.spec | 2 -
-# package/ncursest.spec | 2 -
-# progs/infocmp.c | 20 ++++++-----
-# progs/tabs.c | 8 ++--
-# progs/tput.c | 14 +++++--
-# test/ncurses.c | 8 +++-
-# 17 files changed, 104 insertions(+), 66 deletions(-)
-# ------------------------------------------------------------------------------
-Index: NEWS
-Prereq: 1.3780
---- ncurses-6.3-20220219+/NEWS 2022-02-20 00:40:32.000000000 +0000
-+++ ncurses-6.3-20220226/NEWS 2022-02-26 23:50:53.000000000 +0000
-@@ -26,7 +26,7 @@
- -- sale, use or other dealings in this Software without prior written --
- -- authorization. --
- -------------------------------------------------------------------------------
---- $Id: NEWS,v 1.3780 2022/02/20 00:40:32 tom Exp $
-+-- $Id: NEWS,v 1.3782 2022/02/26 23:50:53 tom Exp $
- -------------------------------------------------------------------------------
-
- This is a log of changes that ncurses has gone through since Zeyd started
-@@ -46,6 +46,17 @@
- Changes through 1.9.9e did not credit all contributions;
- it is not possible to add this information.
-
-+20220226
-+ + fix issues found with coverity:
-+ + rewrite canonical_name() function of infocmp to ensure buffer size
-+ + corrected use of original tty-modes in tput init/reset subcommands
-+ + modify tabs program to limit tab-stop values to max-columns
-+ + add limit-checks for palette rgb values in test/ncurses.c
-+ + add a few null-pointer checks to help with static-analysis.
-+ + enforce limit on number of soft-keys used in c++ binding.
-+ + adjust a buffer-limit in write_entry.c to quiet a bogus warning from
-+ gcc 12.0.1
-+
- 20220219
- + expanded description in man/resizeterm.3x
- + additional workaround for ImageMagick in test/picsmap.c
-Index: VERSION
---- ncurses-6.3-20220219+/VERSION 2022-02-19 12:13:47.000000000 +0000
-+++ ncurses-6.3-20220226/VERSION 2022-02-26 12:23:15.000000000 +0000
-@@ -1 +1 @@
--5:0:10 6.3 20220219
-+5:0:10 6.3 20220226
-Index: c++/cursslk.cc
-Prereq: 1.19
---- ncurses-6.3-20220219+/c++/cursslk.cc 2020-07-18 19:57:11.000000000 +0000
-+++ ncurses-6.3-20220226/c++/cursslk.cc 2022-02-26 17:57:23.000000000 +0000
-@@ -1,6 +1,6 @@
- // * this is for making emacs happy: -*-Mode: C++;-*-
- /****************************************************************************
-- * Copyright 2019,2020 Thomas E. Dickey *
-+ * Copyright 2019-2020,2022 Thomas E. Dickey *
- * Copyright 1998-2005,2012 Free Software Foundation, Inc. *
- * *
- * Permission is hereby granted, free of charge, to any person obtaining a *
-@@ -36,7 +36,7 @@
- #include "cursslk.h"
- #include "cursesapp.h"
-
--MODULE_ID("$Id: cursslk.cc,v 1.19 2020/07/18 19:57:11 anonymous.maarten Exp $")
-+MODULE_ID("$Id: cursslk.cc,v 1.20 2022/02/26 17:57:23 tom Exp $")
-
- Soft_Label_Key_Set::Soft_Label_Key&
- Soft_Label_Key_Set::Soft_Label_Key::operator=(char *text)
-@@ -56,6 +56,8 @@
-
- void Soft_Label_Key_Set::init()
- {
-+ if (num_labels > 12)
-+ num_labels = 12;
- slk_array = new Soft_Label_Key[num_labels];
- for(int i=0; i < num_labels; i++) {
- slk_array[i].num = i+1;
-Index: dist.mk
-Prereq: 1.1467
---- ncurses-6.3-20220219+/dist.mk 2022-02-19 12:13:47.000000000 +0000
-+++ ncurses-6.3-20220226/dist.mk 2022-02-26 12:23:15.000000000 +0000
-@@ -26,7 +26,7 @@
- # use or other dealings in this Software without prior written #
- # authorization. #
- ##############################################################################
--# $Id: dist.mk,v 1.1467 2022/02/19 12:13:47 tom Exp $
-+# $Id: dist.mk,v 1.1468 2022/02/26 12:23:15 tom Exp $
- # Makefile for creating ncurses distributions.
- #
- # This only needs to be used directly as a makefile by developers, but
-@@ -38,7 +38,7 @@
- # These define the major/minor/patch versions of ncurses.
- NCURSES_MAJOR = 6
- NCURSES_MINOR = 3
--NCURSES_PATCH = 20220219
-+NCURSES_PATCH = 20220226
-
- # We don't append the patch to the version, since this only applies to releases
- VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
-Index: ncurses/tinfo/alloc_entry.c
-Prereq: 1.66
---- ncurses-6.3-20220219+/ncurses/tinfo/alloc_entry.c 2021-08-08 00:09:37.000000000 +0000
-+++ ncurses-6.3-20220226/ncurses/tinfo/alloc_entry.c 2022-02-26 22:19:31.000000000 +0000
-@@ -1,5 +1,5 @@
- /****************************************************************************
-- * Copyright 2018-2020,2021 Thomas E. Dickey *
-+ * Copyright 2018-2021,2022 Thomas E. Dickey *
- * Copyright 1998-2013,2017 Free Software Foundation, Inc. *
- * *
- * Permission is hereby granted, free of charge, to any person obtaining a *
-@@ -48,7 +48,7 @@
-
- #include <tic.h>
-
--MODULE_ID("$Id: alloc_entry.c,v 1.66 2021/08/08 00:09:37 tom Exp $")
-+MODULE_ID("$Id: alloc_entry.c,v 1.68 2022/02/26 22:19:31 tom Exp $")
-
- #define ABSENT_OFFSET -1
- #define CANCELLED_OFFSET -2
-@@ -62,16 +62,18 @@
- _nc_init_entry(ENTRY * const tp)
- /* initialize a terminal type data block */
- {
-+ if (tp == NULL) {
- #if NO_LEAKS
-- if (tp == 0) {
-- if (stringbuf != 0) {
-+ if (stringbuf != NULL) {
- FreeAndNull(stringbuf);
- }
- return;
-- }
-+#else
-+ _nc_err_abort("_nc_init_entry called without initialization");
- #endif
-+ }
-
-- if (stringbuf == 0)
-+ if (stringbuf == NULL)
- TYPE_MALLOC(char, (size_t) MAX_STRTAB, stringbuf);
-
- next_free = 0;
-@@ -84,7 +86,7 @@
- {
- ENTRY *newp = typeCalloc(ENTRY, 1);
-
-- if (newp != 0) {
-+ if (newp != NULL) {
- *newp = *oldp;
- _nc_copy_termtype2(&(newp->tterm), &(oldp->tterm));
- }
-@@ -99,26 +101,28 @@
- size_t old_next_free = next_free;
- size_t len;
-
-- if (!VALID_STRING(string))
-- string = "";
-- len = strlen(string) + 1;
--
-- if (len == 1 && next_free != 0) {
-- /*
-- * Cheat a little by making an empty string point to the end of the
-- * previous string.
-- */
-- if (next_free < MAX_STRTAB) {
-- result = (stringbuf + next_free - 1);
-+ if (stringbuf != NULL) {
-+ if (!VALID_STRING(string))
-+ string = "";
-+ len = strlen(string) + 1;
-+
-+ if (len == 1 && next_free != 0) {
-+ /*
-+ * Cheat a little by making an empty string point to the end of the
-+ * previous string.
-+ */
-+ if (next_free < MAX_STRTAB) {
-+ result = (stringbuf + next_free - 1);
-+ }
-+ } else if (next_free + len < MAX_STRTAB) {
-+ _nc_STRCPY(&stringbuf[next_free], string, MAX_STRTAB);
-+ DEBUG(7, ("Saved string %s", _nc_visbuf(string)));
-+ DEBUG(7, ("at location %d", (int) next_free));
-+ next_free += len;
-+ result = (stringbuf + old_next_free);
-+ } else {
-+ _nc_warning("Too much data, some is lost: %s", string);
- }
-- } else if (next_free + len < MAX_STRTAB) {
-- _nc_STRCPY(&stringbuf[next_free], string, MAX_STRTAB);
-- DEBUG(7, ("Saved string %s", _nc_visbuf(string)));
-- DEBUG(7, ("at location %d", (int) next_free));
-- next_free += len;
-- result = (stringbuf + old_next_free);
-- } else {
-- _nc_warning("Too much data, some is lost: %s", string);
- }
- return result;
- }
-@@ -130,9 +134,14 @@
- int offsets[MAX_ENTRY_SIZE / sizeof(short)];
- int useoffsets[MAX_USES];
- unsigned i, n;
-- unsigned nuses = ep->nuses;
-- TERMTYPE2 *tp = &(ep->tterm);
-+ unsigned nuses;
-+ TERMTYPE2 *tp;
-+
-+ if (ep == NULL || stringbuf == NULL)
-+ _nc_err_abort("_nc_wrap_entry called without initialization");
-
-+ nuses = ep->nuses;
-+ tp = &(ep->tterm);
- if (copy_strings) {
- next_free = 0; /* clear static storage */
-
-@@ -294,7 +303,7 @@
- NCURSES_EXPORT(void)
- _nc_alloc_entry_leaks(void)
- {
-- if (stringbuf != 0) {
-+ if (stringbuf != NULL) {
- FreeAndNull(stringbuf);
- }
- next_free = 0;
-Index: ncurses/tinfo/write_entry.c
-Prereq: 1.118
---- ncurses-6.3-20220219+/ncurses/tinfo/write_entry.c 2021-08-15 20:07:11.000000000 +0000
-+++ ncurses-6.3-20220226/ncurses/tinfo/write_entry.c 2022-02-26 20:59:58.000000000 +0000
-@@ -1,5 +1,5 @@
- /****************************************************************************
-- * Copyright 2018-2020,2021 Thomas E. Dickey *
-+ * Copyright 2018-2021,2022 Thomas E. Dickey *
- * Copyright 1998-2016,2017 Free Software Foundation, Inc. *
- * *
- * Permission is hereby granted, free of charge, to any person obtaining a *
-@@ -51,7 +51,7 @@
- #define TRACE_NUM(n) /* nothing */
- #endif
-
--MODULE_ID("$Id: write_entry.c,v 1.118 2021/08/15 20:07:11 tom Exp $")
-+MODULE_ID("$Id: write_entry.c,v 1.119 2022/02/26 20:59:58 tom Exp $")
-
- static int total_written;
- static int total_parts;
-@@ -145,7 +145,7 @@
- rc = 0;
- }
- } else {
-- if (strlen(top) + strlen(src) + 2 <= limit) {
-+ if ((strlen(top) + strlen(src) + 6) <= limit) {
- _nc_SPRINTF(dst, _nc_SLIMIT(limit) "%s/%s", top, src);
- rc = 0;
- }
-Index: package/debian-mingw/changelog
---- ncurses-6.3-20220219+/package/debian-mingw/changelog 2022-02-19 12:13:47.000000000 +0000
-+++ ncurses-6.3-20220226/package/debian-mingw/changelog 2022-02-26 12:23:15.000000000 +0000
-@@ -1,8 +1,8 @@
--ncurses6 (6.3+20220219) unstable; urgency=low
-+ncurses6 (6.3+20220226) unstable; urgency=low
-
- * latest weekly patch
-
-- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 19 Feb 2022 07:13:47 -0500
-+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 26 Feb 2022 07:23:15 -0500
-
- ncurses6 (5.9-20131005) unstable; urgency=low
-
-Index: package/debian-mingw64/changelog
---- ncurses-6.3-20220219+/package/debian-mingw64/changelog 2022-02-19 12:13:47.000000000 +0000
-+++ ncurses-6.3-20220226/package/debian-mingw64/changelog 2022-02-26 12:23:15.000000000 +0000
-@@ -1,8 +1,8 @@
--ncurses6 (6.3+20220219) unstable; urgency=low
-+ncurses6 (6.3+20220226) unstable; urgency=low
-
- * latest weekly patch
-
-- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 19 Feb 2022 07:13:47 -0500
-+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 26 Feb 2022 07:23:15 -0500
-
- ncurses6 (5.9-20131005) unstable; urgency=low
-
-Index: package/debian/changelog
---- ncurses-6.3-20220219+/package/debian/changelog 2022-02-19 12:13:47.000000000 +0000
-+++ ncurses-6.3-20220226/package/debian/changelog 2022-02-26 12:23:15.000000000 +0000
-@@ -1,8 +1,8 @@
--ncurses6 (6.3+20220219) unstable; urgency=low
-+ncurses6 (6.3+20220226) unstable; urgency=low
-
- * latest weekly patch
-
-- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 19 Feb 2022 07:13:47 -0500
-+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 26 Feb 2022 07:23:15 -0500
-
- ncurses6 (5.9-20120608) unstable; urgency=low
-
-Index: package/mingw-ncurses.nsi
-Prereq: 1.507
---- ncurses-6.3-20220219+/package/mingw-ncurses.nsi 2022-02-19 12:13:47.000000000 +0000
-+++ ncurses-6.3-20220226/package/mingw-ncurses.nsi 2022-02-26 12:23:15.000000000 +0000
-@@ -1,4 +1,4 @@
--; $Id: mingw-ncurses.nsi,v 1.507 2022/02/19 12:13:47 tom Exp $
-+; $Id: mingw-ncurses.nsi,v 1.508 2022/02/26 12:23:15 tom Exp $
-
- ; TODO add examples
- ; TODO bump ABI to 6
-@@ -10,7 +10,7 @@
- !define VERSION_MAJOR "6"
- !define VERSION_MINOR "3"
- !define VERSION_YYYY "2022"
--!define VERSION_MMDD "0219"
-+!define VERSION_MMDD "0226"
- !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}
-
- !define MY_ABI "5"
-Index: package/mingw-ncurses.spec
---- ncurses-6.3-20220219+/package/mingw-ncurses.spec 2022-02-19 12:13:47.000000000 +0000
-+++ ncurses-6.3-20220226/package/mingw-ncurses.spec 2022-02-26 12:23:15.000000000 +0000
-@@ -3,7 +3,7 @@
- Summary: shared libraries for terminal handling
- Name: mingw32-ncurses6
- Version: 6.3
--Release: 20220219
-+Release: 20220226
- License: X11
- Group: Development/Libraries
- Source: ncurses-%{version}-%{release}.tgz
-Index: package/ncurses.spec
---- ncurses-6.3-20220219+/package/ncurses.spec 2022-02-19 12:13:47.000000000 +0000
-+++ ncurses-6.3-20220226/package/ncurses.spec 2022-02-26 12:23:15.000000000 +0000
-@@ -1,7 +1,7 @@
- Summary: shared libraries for terminal handling
- Name: ncurses6
- Version: 6.3
--Release: 20220219
-+Release: 20220226
- License: X11
- Group: Development/Libraries
- Source: ncurses-%{version}-%{release}.tgz
-Index: package/ncursest.spec
---- ncurses-6.3-20220219+/package/ncursest.spec 2022-02-19 12:13:47.000000000 +0000
-+++ ncurses-6.3-20220226/package/ncursest.spec 2022-02-26 12:23:15.000000000 +0000
-@@ -1,7 +1,7 @@
- Summary: Curses library with POSIX thread support.
- Name: ncursest6
- Version: 6.3
--Release: 20220219
-+Release: 20220226
- License: X11
- Group: Development/Libraries
- Source: ncurses-%{version}-%{release}.tgz
-Index: progs/infocmp.c
-Prereq: 1.151
---- ncurses-6.3-20220219+/progs/infocmp.c 2021-06-17 21:11:08.000000000 +0000
-+++ ncurses-6.3-20220226/progs/infocmp.c 2022-02-26 23:25:55.000000000 +0000
-@@ -1,5 +1,5 @@
- /****************************************************************************
-- * Copyright 2020,2021 Thomas E. Dickey *
-+ * Copyright 2020-2021,2022 Thomas E. Dickey *
- * Copyright 1998-2016,2017 Free Software Foundation, Inc. *
- * *
- * Permission is hereby granted, free of charge, to any person obtaining a *
-@@ -43,7 +43,7 @@
-
- #include <dump_entry.h>
-
--MODULE_ID("$Id: infocmp.c,v 1.151 2021/06/17 21:11:08 tom Exp $")
-+MODULE_ID("$Id: infocmp.c,v 1.152 2022/02/26 23:25:55 tom Exp $")
-
- #define MAX_STRING 1024 /* maximum formatted string */
-
-@@ -125,16 +125,20 @@
- }
-
- static char *
--canonical_name(char *ptr, char *buf)
-+canonical_name(char *source, char *target)
- /* extract the terminal type's primary name */
- {
-- char *bp;
-+ int limit = NAMESIZE;
-
-- _nc_STRCPY(buf, ptr, NAMESIZE);
-- if ((bp = strchr(buf, '|')) != 0)
-- *bp = '\0';
-+ while (--limit > 0) {
-+ char ch = *source++;
-+ if (ch == '|')
-+ break;
-+ *target++ = ch;
-+ }
-+ *target = '\0';
-
-- return (buf);
-+ return (target);
- }
-
- static bool
-Index: progs/tabs.c
-Prereq: 1.50
---- ncurses-6.3-20220219+/progs/tabs.c 2021-10-10 00:54:41.000000000 +0000
-+++ ncurses-6.3-20220226/progs/tabs.c 2022-02-26 22:44:44.000000000 +0000
-@@ -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 <progs.priv.h>
- #include <tty_settings.h>
-
--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 @@
- int prior = 0;
- int ch;
-
-- if (result == 0)
-+ if (result == NULL)
- failed("decode_tabs");
-
- if (margin < 0)
-@@ -138,6 +138,8 @@
- 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]) {
-Index: progs/tput.c
-Prereq: 1.97
---- ncurses-6.3-20220219+/progs/tput.c 2021-10-02 18:09:23.000000000 +0000
-+++ ncurses-6.3-20220226/progs/tput.c 2022-02-26 23:19:31.000000000 +0000
-@@ -1,5 +1,5 @@
- /****************************************************************************
-- * Copyright 2018-2020,2021 Thomas E. Dickey *
-+ * Copyright 2018-2021,2022 Thomas E. Dickey *
- * Copyright 1998-2016,2017 Free Software Foundation, Inc. *
- * *
- * Permission is hereby granted, free of charge, to any person obtaining a *
-@@ -47,7 +47,7 @@
- #include <transform.h>
- #include <tty_settings.h>
-
--MODULE_ID("$Id: tput.c,v 1.97 2021/10/02 18:09:23 tom Exp $")
-+MODULE_ID("$Id: tput.c,v 1.99 2022/02/26 23:19:31 tom Exp $")
-
- #define PUTS(s) fputs(s, stdout)
-
-@@ -160,7 +160,7 @@
- name = check_aliases(argv[0], FALSE);
- *used = 1;
- if (is_reset || is_init) {
-- TTY oldmode;
-+ TTY oldmode = *settings;
-
- int terasechar = -1; /* new erase character */
- int intrchar = -1; /* new interrupt character */
-@@ -180,6 +180,7 @@
- #endif
- set_control_chars(settings, terasechar, intrchar, tkillchar);
- set_conversions(settings);
-+
- if (send_init_strings(fd, &oldmode)) {
- reset_flush();
- }
-@@ -336,6 +337,7 @@
- int result = 0;
- int fd;
- int used;
-+ TTY old_settings;
- TTY tty_settings;
- bool opt_x = FALSE; /* clear scrollback if possible */
- bool is_alias;
-@@ -391,6 +393,7 @@
- quit(ErrUsage, "No value for $TERM and no -T specified");
-
- fd = save_tty_settings(&tty_settings, need_tty);
-+ old_settings = tty_settings;
-
- if (setupterm(term, fd, &errret) != OK && errret <= 0)
- quit(ErrTermType, "unknown terminal \"%s\"", term);
-@@ -400,6 +403,7 @@
- if ((argc <= 0) && !is_alias)
- usage(NULL);
- while (argc > 0) {
-+ tty_settings = old_settings;
- code = tput_cmd(fd, &tty_settings, opt_x, argc, argv, &used);
- if (code != 0)
- break;
-@@ -433,7 +437,9 @@
-
- argnow = argvec;
- while (argnum > 0) {
-- int code = tput_cmd(fd, &tty_settings, opt_x, argnum, argnow, &used);
-+ int code;
-+ tty_settings = old_settings;
-+ code = tput_cmd(fd, &tty_settings, opt_x, argnum, argnow, &used);
- if (code != 0) {
- if (result == 0)
- result = ErrSystem(0); /* will return value >4 */
-Index: test/ncurses.c
-Prereq: 1.527
---- ncurses-6.3-20220219+/test/ncurses.c 2021-09-04 10:31:03.000000000 +0000
-+++ ncurses-6.3-20220226/test/ncurses.c 2022-02-26 22:41:02.000000000 +0000
-@@ -1,5 +1,5 @@
- /****************************************************************************
-- * Copyright 2018-2020,2021 Thomas E. Dickey *
-+ * Copyright 2018-2021,2022 Thomas E. Dickey *
- * Copyright 1998-2016,2017 Free Software Foundation, Inc. *
- * *
- * Permission is hereby granted, free of charge, to any person obtaining a *
-@@ -41,7 +41,7 @@
- Author: Eric S. Raymond <esr@snark.thyrsus.com> 1993
- Thomas E. Dickey (beginning revision 1.27 in 1996).
-
--$Id: ncurses.c,v 1.527 2021/09/04 10:31:03 tom Exp $
-+$Id: ncurses.c,v 1.528 2022/02/26 22:41:02 tom Exp $
-
- ***************************************************************************/
-
-@@ -2885,6 +2885,10 @@
- while (fgets(buffer, sizeof(buffer), fp) != 0) {
- if (sscanf(buffer, "scale:%d", &c) == 1) {
- scale = c;
-+ if (scale < 100)
-+ scale = 100;
-+ if (scale > 1000)
-+ scale = 1000;
- } else if (sscanf(buffer, "%d:%d %d %d",
- &c,
- &red,