Compare commits

...

No commits in common. "c8s" and "c9" have entirely different histories.
c8s ... c9

20 changed files with 405 additions and 269 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
/ncurses-6.1-20180224.tgz SOURCES/ncurses-6.2-20210508.tgz

1
.ncurses.metadata Normal file
View File

@ -0,0 +1 @@
85c17000c002ace171fde9f0ee774d4f07819881 SOURCES/ncurses-6.2-20210508.tgz

View File

@ -0,0 +1,32 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.12 (GNU/Linux)
mQGiBD/4r7IRBADFuacEqf9fye+NQSm7xjNP705aq75VrUd2hJyPmSiFUIyQEfc4
4GQXGdFg+/Apq4iq/50/8pR8YXOKwP5OE69emEp7IxjST41orGUk5ZwcnlSkaruN
WLTe/lN3e0oOIVbYig1lUbU5IxZu03KfNg2DZ9JiZdNBlzlqx1+oFlWFLwCg3awg
EfOUfbe4kVxNrsnxaCJYJ38EAMRVyUOfhkm9l0YuiC4ebOHrdmn9jFVW+XZPZDeb
8DcyTBNrgvVTnEmrNzVJgOyZIW+uraBVitak+No1kwXvC/i0kZEzYqfG87EdJSfe
OV7axIRisiTrcbZdRJ3CBDtGvLqJ9OuGFHPQmntnZfhiwJTR79hepndEQYyV5eQb
oQ+aA/0bI+/odyRDefc9HF1EhOcz8E76QP+VlvUfIDUJrmwv/3gLZ968HACOe0DE
+bcUockLJxoNwQFwCQPjm5S2+Ba2uY4hRhOA+MResZWlPouoosay2ADfiU7pdBCx
nbcLAuezgnZg4jcXvLl1QiAihxaEI2jqgZBnnierWzqRzRZM4LQrVGhvbWFzIERp
Y2tleSA8ZGlja2V5QGludmlzaWJsZS1pc2xhbmQubmV0PokBIgQQAQIADAUCTZ7Q
ZQUDABJ1AAAKCRCXELibyletfLKrB/sEVLsrCjFTwevbgKSzgCwLf6EhkifktlFB
w7/4n9Do1n7/LpgjdMH06YD9RjfSap4tdvEiHpzkpUtCGuzkGc/u4qTMdnWNgFhh
oHLhjVh4u72B/NtlgrpDEDrn1bnuZpzWxru4uDJGSgL00jV5b3kf1P07eQaguMC6
VeuzFmukv8LiDFhZcCl492nMZxz7vSRgSi8Ce+/Oc4Q+XTWmF5ZMKd5xNLjBdj2P
zOABHmDP1aA75grY30vVViPJve+W0h7A3PP9GuugNDkqmdCvTxYeMqiF6Vtv19/N
EW4jIvmN7GLOBo5F4RYcE9Fv4lV0xXlfpYwCqY7iAx9jyXgCbKXxiF4EExECAB4F
Aj/4r7ICGwMGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQcCNT4Pfkjtt6MQCeKZHo
SgACIQk95rWefzSLULcpjxoAnjVet8e1/1indwT/wDDnObDDfM2UiEYEExECAAYF
AlZ3yw8ACgkQXd+Pt2iOMaZ0bACfVCFh+GzDCNXmZ3RcmDKjJxW7v4YAn0ApCgiS
8tZC2X2ZOs84WwJBIF7vuQENBD/4r7QQBACNOXUR5S3kRSry2IYGr4q0WjdPEh0k
oG1UVDhu0RN0Xbd2RnWjXrjYaYXskmCfo8pRwkNSUeFQ7ggRykcAECJTgfB6haHz
JP/JoD0BepEpwmkxDlsQaiigcEiDRSHxqEbpDVwfOCwY5o4r1jMVK9IhFevIyWuH
WghPO/ASRdF85wADBwP+JFo20ZhpLTkXBppW+bQR7GGHDYnNJpE/o9jev8EaaA9U
b1ST2G6T5iT+l1b09rcpGPfsA0ray9/AfH0DTvsxr0ai6ln+uM/TVY7S6vy3MLsq
yoJ6n2bfcr2R0B4lnRR34DCycATL9DVdmKf+NRTkvWXOSjTXQtdj0Kp2uYJeFqqI
SQQYEQIACQUCP/ivtAIbDAAKCRBwI1Pg9+SO266eAKDZ6zjUkRhpqsJxP6AWnIzR
YKoBTwCfcvSmQ7jC1nxJ6OkdrtZJH0znjF0=
=0vnF
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -0,0 +1,7 @@
-----BEGIN PGP SIGNATURE-----
Comment: See https://invisible-island.net/public/public.html for info
iF0EABECAB0WIQTFIEjAwHSP7iJ9R6JwI1Pg9+SO2wUCYJcuTAAKCRBwI1Pg9+SO
2wiuAKC5AxaU4uJgBWXGYB+wBhTPeqN90gCgjFGnRECOjhCx54KjVPkTJfuVqxg=
=zrbo
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,56 @@
diff -up ncurses-6.2-20210501/misc/gen-pkgconfig.in.config ncurses-6.2-20210501/misc/gen-pkgconfig.in
--- ncurses-6.2-20210501/misc/gen-pkgconfig.in.config 2021-05-04 15:25:14.136139064 +0200
+++ ncurses-6.2-20210501/misc/gen-pkgconfig.in 2021-05-04 15:26:46.473363104 +0200
@@ -83,7 +83,7 @@ if [ "$includedir" != "/usr/include" ];
fi
lib_flags=
-for opt in -L$libdir @EXTRA_PKG_LDFLAGS@ @LIBS@
+for opt in -L$libdir @LIBS@
do
case $opt in
-l*) # LIBS is handled specially below
diff -up ncurses-6.2-20210501/misc/ncurses-config.in.config ncurses-6.2-20210501/misc/ncurses-config.in
--- ncurses-6.2-20210501/misc/ncurses-config.in.config 2021-04-18 00:22:52.000000000 +0200
+++ ncurses-6.2-20210501/misc/ncurses-config.in 2021-05-04 15:28:41.567642360 +0200
@@ -41,7 +41,6 @@ exec_prefix="@exec_prefix@"
bindir="@bindir@"
includedir="@includedir@"
-libdir="@libdir@"
datarootdir="@datarootdir@"
datadir="@datadir@"
mandir="@mandir@"
@@ -101,7 +100,7 @@ fi
# There is no portable way to find the list of standard library directories.
# Require a POSIX shell anyway, to keep this simple.
lib_flags=
-for opt in -L$libdir @EXTRA_PKG_LDFLAGS@ $LIBS
+for opt in $LIBS
do
case $opt in
-specs*) # ignore linker specs-files which were used to build library
@@ -114,13 +113,13 @@ do
lib_check=`echo "x$opt" | sed -e 's/^.-L//'`
[ -d "$lib_check" ] || continue
case "$lib_check" in
- @LD_SEARCHPATH@) # skip standard libdir
+ ////) # skip standard libdir (disabled for multilib)
if [ "$lib_check" = "$libdir" ]
then
lib_first=yes
IFS_save="$IFS"
IFS='|'
- LIBDIRS="@LD_SEARCHPATH@"
+ LIBDIRS=""
for lib_check in $LIBDIRS
do
if [ -d "$lib_check" ]
@@ -268,7 +267,6 @@ ENDECHO
echo $INCS
;;
--libdir)
- echo "${libdir}"
;;
--mandir)
echo "${mandir}"

View File

@ -1,42 +1,42 @@
diff -up ncurses-6.1-20180127/misc/terminfo.src.kbs ncurses-6.1-20180127/misc/terminfo.src diff -up ncurses-6.2-20210306/misc/terminfo.src.kbs ncurses-6.2-20210306/misc/terminfo.src
--- ncurses-6.1-20180127/misc/terminfo.src.kbs 2018-01-29 10:59:01.644758573 +0100 --- ncurses-6.2-20210306/misc/terminfo.src.kbs 2021-03-11 12:05:15.951585254 +0100
+++ ncurses-6.1-20180127/misc/terminfo.src 2018-01-29 11:02:34.018246276 +0100 +++ ncurses-6.2-20210306/misc/terminfo.src 2021-03-11 12:11:24.568964629 +0100
@@ -5713,7 +5713,7 @@ rxvt-basic|rxvt terminal base (X Window @@ -6276,7 +6276,7 @@ rxvt-basic|rxvt terminal base (X Window
enacs=\E(B\E)0, flash=\E[?5h$<100/>\E[?5l, home=\E[H, enacs=\E(B\E)0, flash=\E[?5h$<100/>\E[?5l, home=\E[H,
ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L,
il1=\E[L, ind=\n, is1=\E[?47l\E=\E[?1l, ind=\n, is1=\E[?47l\E=\E[?1l,
- is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, kbs=^H, - is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, kbs=^H,
+ is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, + is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l,
kcbt=\E[Z, kmous=\E[M, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, kcbt=\E[Z, kmous=\E[M, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O,
rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=\E>, rmso=\E[27m, rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=\E>, rmso=\E[27m,
rmul=\E[24m, rmul=\E[24m,
@@ -5725,7 +5725,7 @@ rxvt-basic|rxvt terminal base (X Window @@ -6288,7 +6288,7 @@ rxvt-basic|rxvt terminal base (X Window
%p9%t\016%e\017%;, %p9%t\016%e\017%;,
sgr0=\E[0m\017, smacs=^N, smcup=\E7\E[?47h, smir=\E[4h, sgr0=\E[0m\017, smacs=^N, smcup=\E7\E[?47h, smir=\E[4h,
smkx=\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, use=vt100+enq, smkx=\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, use=vt100+enq,
- use=rxvt+pcfkeys, use=vt220+keypad, - use=rxvt+pcfkeys, use=vt220+cvis, use=vt220+keypad,
+ use=rxvt+pcfkeys, use=vt220+keypad, use=xterm+kbs, + use=rxvt+pcfkeys, use=vt220+cvis, use=vt220+keypad, use=xterm+kbs,
# Key Codes from rxvt reference: # Key Codes from rxvt reference:
# #
# Note: Shift + F1-F10 generates F11-F20 # Note: Shift + F1-F10 generates F11-F20
@@ -6897,7 +6897,7 @@ screen|VT 100/ANSI X3.64 virtual termina @@ -7829,7 +7829,7 @@ screen|VT 100/ANSI X3.64 virtual termina
dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K,
enacs=\E(B\E)0, flash=\Eg, home=\E[H, hpa=\E[%i%p1%dG, enacs=\E(B\E)0, flash=\Eg, home=\E[H, hpa=\E[%i%p1%dG,
ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L,
- ind=\n, indn=\E[%p1%dS, is2=\E)0, kbs=^H, kcbt=\E[Z, - ind=\n, indn=\E[%p1%dS, is2=\E)0, kbs=^H, kcbt=\E[Z,
+ ind=\n, indn=\E[%p1%dS, is2=\E)0, kcbt=\E[Z, + ind=\n, indn=\E[%p1%dS, is2=\E)0, kcbt=\E[Z,
kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP,
kdch1=\E[3~, kend=\E[4~, kf1=\EOP, kf10=\E[21~, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR,
kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf4=\EOS, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
@@ -6911,6 +6911,7 @@ screen|VT 100/ANSI X3.64 virtual termina @@ -7842,6 +7842,7 @@ screen|VT 100/ANSI X3.64 virtual termina
sgr0=\E[m\017, smacs=^N, smcup=\E[?1049h, smir=\E[4h, smso=\E[3m, smul=\E[4m, tbc=\E[3g, vpa=\E[%i%p1%dd,
smkx=\E[?1h\E=, smso=\E[3m, smul=\E[4m, tbc=\E[3g, E0=\E(B, S0=\E(%p1%c, use=vt220+pcedit,
vpa=\E[%i%p1%dd, E0=\E(B, S0=\E(%p1%c, use=ecma+color, use=xterm+alt1049, use=ecma+color, use=vt100+enq,
+ use=xterm+kbs, + use=xterm+kbs,
# The bce and status-line entries are from screen 3.9.13 (and require some # The bce and status-line entries are from screen 3.9.13 (and require some
# changes to .screenrc). # changes to .screenrc).
screen-bce|VT 100/ANSI X3.64 virtual terminal with bce, screen-bce|VT 100/ANSI X3.64 virtual terminal with bce,
@@ -7026,6 +7027,7 @@ screen.xterm-r6|screen customized for X1 @@ -7957,6 +7958,7 @@ screen.xterm-r6|screen customized for X1
# on Solaris because Sun's curses implementation gets confused. # on Solaris because Sun's curses implementation gets confused.
screen.teraterm|disable ncv in teraterm, screen.teraterm|disable ncv in teraterm,
ncv#127, ncv#127,

View File

@ -0,0 +1,58 @@
diff -up ncurses-6.2-20210306/c++/Makefile.in.libs ncurses-6.2-20210306/c++/Makefile.in
--- ncurses-6.2-20210306/c++/Makefile.in.libs 2021-01-23 21:42:08.000000000 +0100
+++ ncurses-6.2-20210306/c++/Makefile.in 2021-03-11 12:02:29.576741101 +0100
@@ -118,7 +118,7 @@ SHLIB_LIST = $(SHLIB_DIRS) \
-l@FORM_NAME@@USE_LIB_SUFFIX@ \
-l@MENU_NAME@@USE_LIB_SUFFIX@ \
-l@PANEL_NAME@@USE_LIB_SUFFIX@ \
- -lncurses@USE_LIB_SUFFIX@ @SHLIB_LIST@
+ -lncurses@USE_LIB_SUFFIX@ #@SHLIB_LIST@
LIBROOT = ncurses++
@@ -153,8 +153,7 @@ LDFLAGS_SHARED = $(TEST_LDFLAGS) $(CFLAG
LDFLAGS_DEFAULT = $(LINK_@DFT_UPR_MODEL@) $(LDFLAGS_@DFT_UPR_MODEL@)
# flags for library built by this makefile
-LDFLAGS = $(TEST_ARGS) @LDFLAGS@ \
- @LD_MODEL@ $(TEST_LIBS) @LIBS@ $(CXXLIBS)
+LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@ $(CXXLIBS)
AUTO_SRC = \
etip.h
diff -up ncurses-6.2-20210306/form/Makefile.in.libs ncurses-6.2-20210306/form/Makefile.in
--- ncurses-6.2-20210306/form/Makefile.in.libs 2021-01-23 21:42:08.000000000 +0100
+++ ncurses-6.2-20210306/form/Makefile.in 2021-03-11 12:00:59.001470707 +0100
@@ -110,7 +110,7 @@ LINK = $(LIBTOOL_LINK)
LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@
SHLIB_DIRS = -L../lib
-SHLIB_LIST = $(SHLIB_DIRS) -lncurses@USE_LIB_SUFFIX@ @SHLIB_LIST@
+SHLIB_LIST = $(SHLIB_DIRS) -lncurses@USE_LIB_SUFFIX@ #@SHLIB_LIST@
RPATH_LIST = @RPATH_LIST@
RESULTING_SYMS = @RESULTING_SYMS@
diff -up ncurses-6.2-20210306/menu/Makefile.in.libs ncurses-6.2-20210306/menu/Makefile.in
--- ncurses-6.2-20210306/menu/Makefile.in.libs 2020-08-29 16:50:45.000000000 +0200
+++ ncurses-6.2-20210306/menu/Makefile.in 2021-03-11 12:00:59.002470754 +0100
@@ -110,7 +110,7 @@ LINK = $(LIBTOOL_LINK)
LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@
SHLIB_DIRS = -L../lib
-SHLIB_LIST = $(SHLIB_DIRS) -lncurses@USE_LIB_SUFFIX@ @SHLIB_LIST@
+SHLIB_LIST = $(SHLIB_DIRS) -lncurses@USE_LIB_SUFFIX@ #@SHLIB_LIST@
RPATH_LIST = @RPATH_LIST@
RESULTING_SYMS = @RESULTING_SYMS@
diff -up ncurses-6.2-20210306/panel/Makefile.in.libs ncurses-6.2-20210306/panel/Makefile.in
--- ncurses-6.2-20210306/panel/Makefile.in.libs 2020-08-29 16:50:45.000000000 +0200
+++ ncurses-6.2-20210306/panel/Makefile.in 2021-03-11 12:00:59.002470754 +0100
@@ -112,7 +112,7 @@ LINK = $(LIBTOOL_LINK)
LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@
SHLIB_DIRS = -L../lib
-SHLIB_LIST = $(SHLIB_DIRS) -lncurses@USE_LIB_SUFFIX@ @SHLIB_LIST@
+SHLIB_LIST = $(SHLIB_DIRS) -lncurses@USE_LIB_SUFFIX@ #@SHLIB_LIST@
RPATH_LIST = @RPATH_LIST@
RESULTING_SYMS = @RESULTING_SYMS@

View File

@ -0,0 +1,134 @@
diff -up ncurses-6.2-20210508/configure.setuid ncurses-6.2-20210508/configure
--- ncurses-6.2-20210508/configure.setuid 2021-05-02 02:35:51.000000000 +0200
+++ ncurses-6.2-20210508/configure 2023-08-21 14:22:48.925376959 +0200
@@ -784,6 +784,7 @@ Fine-Tuning Your Configuration:
--enable-getcap-cache cache translated termcaps in ~/.terminfo
--disable-home-terminfo drop ~/.terminfo from terminfo search-path
--disable-root-environ restrict environment when running as root
+ --disable-setuid-environ restrict setuid use of ncurses environment variables
--enable-symlinks make tic use symbolic links not hard links
--enable-broken_linker compile with broken-linker support code
--enable-bsdpad recognize BSD-style prefix padding
@@ -9224,6 +9225,20 @@ cat >>confdefs.h <<\EOF
#define USE_ROOT_ENVIRON 1
EOF
+# Check whether --enable-setuid-environ or --disable-setuid-environ was given.
+if test "${enable_setuid_environ+set}" = set; then
+ enableval="$enable_setuid_environ"
+ with_setuid_environ=$enableval
+else
+ with_setuid_environ=$with_root_environ
+fi;
+echo "$as_me:9942: result: $with_setuid_environ" >&5
+echo "${ECHO_T}$with_setuid_environ" >&6
+test "x$with_setuid_environ" = xyes &&
+cat >>confdefs.h <<\EOF
+#define USE_SETUID_ENVIRON 1
+EOF
+
### Use option --enable-symlinks to make tic use symlinks, not hard links
### to reduce storage requirements for the terminfo database.
diff -up ncurses-6.2-20210508/ncurses/curses.priv.h.setuid ncurses-6.2-20210508/ncurses/curses.priv.h
--- ncurses-6.2-20210508/ncurses/curses.priv.h.setuid 2021-04-04 00:12:56.000000000 +0200
+++ ncurses-6.2-20210508/ncurses/curses.priv.h 2023-08-21 14:22:48.925376959 +0200
@@ -210,7 +210,7 @@ extern int errno;
* If desired, one can configure this, disabling environment variables that
* point to custom terminfo/termcap locations.
*/
-#ifdef USE_ROOT_ENVIRON
+#if defined(USE_ROOT_ENVIRON) && defined(USE_SETUID_ENVIRON)
#define use_terminfo_vars() 1
#else
#define use_terminfo_vars() _nc_env_access()
diff -up ncurses-6.2-20210508/ncurses/tinfo/access.c.setuid ncurses-6.2-20210508/ncurses/tinfo/access.c
--- ncurses-6.2-20210508/ncurses/tinfo/access.c.setuid 2020-08-29 18:22:03.000000000 +0200
+++ ncurses-6.2-20210508/ncurses/tinfo/access.c 2023-08-21 14:22:48.925376959 +0200
@@ -37,6 +37,8 @@
#include <tic.h>
+#include <sys/auxv.h>
+
MODULE_ID("$Id: access.c,v 1.27 2020/08/29 16:22:03 juergen Exp $")
#define LOWERCASE(c) ((isalpha(UChar(c)) && isupper(UChar(c))) ? tolower(UChar(c)) : (c))
@@ -169,7 +171,18 @@ _nc_is_file_path(const char *path)
return result;
}
-#ifndef USE_ROOT_ENVIRON
+#define is_posix_elevated() \
+ (getuid() != geteuid() \
+ || getgid() != getegid())
+
+#define is_elevated() \
+ (getauxval(AT_SECURE) \
+ ? TRUE \
+ : (errno != ENOENT \
+ ? FALSE \
+ : is_posix_elevated()))
+
+#if !defined(USE_ROOT_ENVIRON) || !defined(USE_SETUID_ENVIRON)
/*
* Returns true if we allow application to use environment variables that are
* used for searching lists of directories, etc.
@@ -177,15 +190,18 @@ _nc_is_file_path(const char *path)
NCURSES_EXPORT(int)
_nc_env_access(void)
{
-#if HAVE_ISSETUGID
- if (issetugid())
- return FALSE;
-#elif HAVE_GETEUID && HAVE_GETEGID
- if (getuid() != geteuid()
- || getgid() != getegid())
- return FALSE;
+ int result = TRUE;
+
+#if !defined(USE_SETUID_ENVIRON)
+ if (is_elevated()) {
+ result = FALSE;
+ }
#endif
- /* ...finally, disallow root */
- return (getuid() != ROOT_UID) && (geteuid() != ROOT_UID);
+#if !defined(USE_ROOT_ENVIRON)
+ if ((getuid() == ROOT_UID) || (geteuid() == ROOT_UID)) {
+ result = FALSE;
+ }
+#endif
+ return result;
}
#endif
diff -up ncurses-6.2-20210508/ncurses/tinfo/comp_error.c.setuid ncurses-6.2-20210508/ncurses/tinfo/comp_error.c
--- ncurses-6.2-20210508/ncurses/tinfo/comp_error.c.setuid 2023-08-21 14:27:08.268309417 +0200
+++ ncurses-6.2-20210508/ncurses/tinfo/comp_error.c 2023-08-21 14:33:13.716214256 +0200
@@ -148,8 +148,8 @@ _nc_syserr_abort(const char *const fmt,
/* If we're debugging, try to show where the problem occurred - this
* will dump core.
*/
-#ifndef USE_ROOT_ENVIRON
- if (getuid() != ROOT_UID)
+#if !defined(USE_ROOT_ENVIRON) || !defined(USE_SETUID_ENVIRON)
+ if (_nc_env_access())
#endif
abort();
#endif
diff -up ncurses-6.2-20210508/ncurses/tinfo/write_entry.c.setuid ncurses-6.2-20210508/ncurses/tinfo/write_entry.c
--- ncurses-6.2-20210508/ncurses/tinfo/write_entry.c.setuid 2020-08-29 18:22:03.000000000 +0200
+++ ncurses-6.2-20210508/ncurses/tinfo/write_entry.c 2023-08-21 14:32:22.738227530 +0200
@@ -215,11 +215,7 @@ _nc_set_writedir(const char *dir)
const char *destination;
char actual[PATH_MAX];
- if (dir == 0
-#ifndef USE_ROOT_ENVIRON
- && use_terminfo_vars()
-#endif
- )
+ if (dir == 0 && use_terminfo_vars())
dir = getenv("TERMINFO");
if (dir != 0)

View File

@ -1,7 +1,7 @@
diff -up ncurses-6.0-20150810/misc/terminfo.src.urxvt ncurses-6.0-20150810/misc/terminfo.src diff -up ncurses-6.0-20150810/misc/terminfo.src.urxvt ncurses-6.0-20150810/misc/terminfo.src
--- ncurses-6.0-20150810/misc/terminfo.src.urxvt 2015-07-25 21:27:20.000000000 +0200 --- ncurses-6.0-20150810/misc/terminfo.src.urxvt 2015-07-25 21:27:20.000000000 +0200
+++ ncurses-6.0-20150810/misc/terminfo.src 2015-08-12 17:38:46.050362567 +0200 +++ ncurses-6.0-20150810/misc/terminfo.src 2015-08-12 17:38:46.050362567 +0200
@@ -5214,6 +5214,175 @@ rxvt-cygwin-native|rxvt terminal emulato @@ -5214,6 +5214,181 @@ rxvt-cygwin-native|rxvt terminal emulato
rxvt-16color|rxvt with 16 colors like aixterm, rxvt-16color|rxvt with 16 colors like aixterm,
ncv#32, use=ibm+16color, use=rxvt, ncv#32, use=ibm+16color, use=rxvt,
@ -13,6 +13,7 @@ diff -up ncurses-6.0-20150810/misc/terminfo.src.urxvt ncurses-6.0-20150810/misc/
+# Updated: Marc Lehmann <schmorp@schmorp.de>, 04 Nov 2008: change init/reset sequences +# Updated: Marc Lehmann <schmorp@schmorp.de>, 04 Nov 2008: change init/reset sequences
+# Updated: Marc Lehmann <schmorp@schmorp.de>, 24 Nov 2014: implement cvvis as blinking cursor +# Updated: Marc Lehmann <schmorp@schmorp.de>, 24 Nov 2014: implement cvvis as blinking cursor
+# Updated: Marc Lehmann <schmorp@schmorp.de>, 13 Dec 2014: removed superfluous 0 from sgr +# Updated: Marc Lehmann <schmorp@schmorp.de>, 13 Dec 2014: removed superfluous 0 from sgr
+# Updated: Robbie Harwood <rharwood@redhat.com>, 25 Oct 2019: restore deleted rxvt-unicode-256color
+rxvt-unicode|rxvt-unicode terminal (X Window System), +rxvt-unicode|rxvt-unicode terminal (X Window System),
+ am, + am,
+ bce, + bce,
@ -173,6 +174,11 @@ diff -up ncurses-6.0-20150810/misc/terminfo.src.urxvt ncurses-6.0-20150810/misc/
+ tsl=\E]2;, + tsl=\E]2;,
+ fsl=\007, + fsl=\007,
+ dsl=\E]2;\007, + dsl=\E]2;\007,
+
+rxvt-unicode-256color|rxvt-unicode terminal with 256 colors (X Window System),
+ colors#256,
+ pairs#32767,
+ use=rxvt-unicode,
+ +
#### MRXVT #### MRXVT
# mrxvt 0.5.4 # mrxvt 0.5.4

View File

@ -1,23 +1,21 @@
%global revision 20180224 %global revision 20210508
Summary: Ncurses support utilities Summary: Ncurses support utilities
Name: ncurses Name: ncurses
Version: 6.1 Version: 6.2
Release: 10.%{revision}%{?dist} Release: 10.%{revision}%{?dist}
License: MIT License: MIT
Group: System Environment/Base
URL: https://invisible-island.net/ncurses/ncurses.html URL: https://invisible-island.net/ncurses/ncurses.html
Source0: https://invisible-mirror.net/archives/ncurses/current/ncurses-%{version}-%{revision}.tgz Source0: https://invisible-mirror.net/archives/ncurses/current/ncurses-%{version}-%{revision}.tgz
Source1: https://invisible-mirror.net/archives/ncurses/current/ncurses-%{version}-%{revision}.tgz.asc
Source2: https://invisible-island.net/public/dickey-invisible-island.txt
Patch1: ncurses-usecap.patch
Patch8: ncurses-config.patch Patch8: ncurses-config.patch
Patch9: ncurses-libs.patch Patch9: ncurses-libs.patch
Patch11: ncurses-urxvt.patch Patch11: ncurses-urxvt.patch
Patch12: ncurses-kbs.patch Patch12: ncurses-kbs.patch
Patch13: ncurses-cve-2019-17594.patch Patch13: ncurses-cve-2023-29491.patch
Patch14: ncurses-cve-2019-17595.patch Patch14: ncurses-setuid.patch
Patch15: ncurses-tputx.patch BuildRequires: gcc gcc-c++ gpm-devel gnupg2 make pkgconfig
Patch16: ncurses-cve-2023-29491.patch
BuildRequires: gcc gcc-c++ gpm-devel pkgconfig
Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: %{name}-libs%{?_isa} = %{version}-%{release}
@ -33,12 +31,7 @@ tool captoinfo.
%package libs %package libs
Summary: Ncurses libraries Summary: Ncurses libraries
Group: System Environment/Libraries
Requires: %{name}-base = %{version}-%{release} Requires: %{name}-base = %{version}-%{release}
# libs introduced in 5.6-13
Obsoletes: ncurses < 5.6-13
Conflicts: ncurses < 5.6-13
Obsoletes: libtermcap < 2.0.8-48
%description libs %description libs
The curses library routines are a terminal-independent method of The curses library routines are a terminal-independent method of
@ -50,7 +43,6 @@ This package contains the ncurses libraries.
%package compat-libs %package compat-libs
Summary: Ncurses compatibility libraries Summary: Ncurses compatibility libraries
Group: System Environment/Libraries
Requires: %{name}-base = %{version}-%{release} Requires: %{name}-base = %{version}-%{release}
%description compat-libs %description compat-libs
@ -64,7 +56,6 @@ compatibility.
%package c++-libs %package c++-libs
Summary: Ncurses C++ bindings Summary: Ncurses C++ bindings
Group: System Environment/Libraries
Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%description c++-libs %description c++-libs
@ -77,12 +68,10 @@ This package contains C++ bindings of the ncurses ABI version 6 libraries.
%package base %package base
Summary: Descriptions of common terminals Summary: Descriptions of common terminals
Group: System Environment/Base # rxvt-unicode-256color entry used to be in rxvt-unicode and briefly
Obsoletes: termcap < 1:5.5-2 # in rxvt-unicode-terminfo
# base introduced in 5.6-13 Conflicts: rxvt-unicode < 9.22-15
Conflicts: ncurses < 5.6-13 Obsoletes: rxvt-unicode-terminfo < 9.22-18
# /lib -> /usr/lib move
Conflicts: filesystem < 3
BuildArch: noarch BuildArch: noarch
%description base %description base
@ -91,7 +80,6 @@ descriptions are included in the ncurses-term package.
%package term %package term
Summary: Terminal descriptions Summary: Terminal descriptions
Group: System Environment/Base
Requires: %{name}-base = %{version}-%{release} Requires: %{name}-base = %{version}-%{release}
BuildArch: noarch BuildArch: noarch
@ -101,12 +89,9 @@ the ncurses-base package.
%package devel %package devel
Summary: Development files for the ncurses library Summary: Development files for the ncurses library
Group: Development/Libraries
Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: %{name}-c++-libs%{?_isa} = %{version}-%{release} Requires: %{name}-c++-libs%{?_isa} = %{version}-%{release}
Requires: pkgconfig Requires: pkgconfig
Obsoletes: libtermcap-devel < 2.0.8-48
Provides: libtermcap-devel = 2.0.8-48
%description devel %description devel
The header files and libraries for developing applications that use The header files and libraries for developing applications that use
@ -117,24 +102,22 @@ which will use ncurses.
%package static %package static
Summary: Static libraries for the ncurses library Summary: Static libraries for the ncurses library
Group: Development/Libraries
Requires: %{name}-devel%{?_isa} = %{version}-%{release} Requires: %{name}-devel%{?_isa} = %{version}-%{release}
%description static %description static
The ncurses-static package includes static libraries of the ncurses library. The ncurses-static package includes static libraries of the ncurses library.
%prep %prep
%{gpgverify} --keyring=%{SOURCE2} --signature=%{SOURCE1} --data=%{SOURCE0}
%setup -q -n %{name}-%{version}-%{revision} %setup -q -n %{name}-%{version}-%{revision}
%patch1 -p1 -b .usecap
%patch8 -p1 -b .config %patch8 -p1 -b .config
%patch9 -p1 -b .libs %patch9 -p1 -b .libs
%patch11 -p1 -b .urxvt %patch11 -p1 -b .urxvt
%patch12 -p1 -b .kbs %patch12 -p1 -b .kbs
%patch13 -p1 -b .cve-2019-17594 %patch13 -p1 -b .cve-2023-29491
%patch14 -p1 -b .cve-2019-17595 %patch14 -p1 -b .setuid
%patch15 -p1 -b .tputx
%patch16 -p1 -b .cve-2023-29491
for f in ANNOUNCE; do for f in ANNOUNCE; do
iconv -f iso8859-1 -t utf8 -o ${f}{_,} && iconv -f iso8859-1 -t utf8 -o ${f}{_,} &&
@ -148,6 +131,7 @@ common_options="\
--enable-overwrite \ --enable-overwrite \
--enable-pc-files \ --enable-pc-files \
--enable-xmc-glitch \ --enable-xmc-glitch \
--disable-setuid-environ \
--disable-stripping \ --disable-stripping \
--disable-wattr-macros \ --disable-wattr-macros \
--with-cxx-shared \ --with-cxx-shared \
@ -176,8 +160,8 @@ for abi in 5 6; do
[ $progs = yes ] || echo --without-progs [ $progs = yes ] || echo --without-progs
) )
make %{?_smp_mflags} libs %make_build libs
[ $progs = yes ] && make %{?_smp_mflags} -C progs [ $progs = yes ] && %make_build -C progs
popd popd
done done
@ -185,8 +169,10 @@ done
%install %install
make -C narrowc5 DESTDIR=$RPM_BUILD_ROOT install.libs make -C narrowc5 DESTDIR=$RPM_BUILD_ROOT install.libs
rm ${RPM_BUILD_ROOT}%{_libdir}/lib{tic,tinfo}.so.5*
make -C widec5 DESTDIR=$RPM_BUILD_ROOT install.libs make -C widec5 DESTDIR=$RPM_BUILD_ROOT install.libs
make -C narrowc6 DESTDIR=$RPM_BUILD_ROOT install.libs make -C narrowc6 DESTDIR=$RPM_BUILD_ROOT install.libs
rm ${RPM_BUILD_ROOT}%{_libdir}/lib{tic,tinfo}.so.6*
make -C widec6 DESTDIR=$RPM_BUILD_ROOT install.{libs,progs,data,includes,man} make -C widec6 DESTDIR=$RPM_BUILD_ROOT install.{libs,progs,data,includes,man}
chmod 755 ${RPM_BUILD_ROOT}%{_libdir}/lib*.so.*.* chmod 755 ${RPM_BUILD_ROOT}%{_libdir}/lib*.so.*.*
@ -198,9 +184,9 @@ baseterms=
# prepare -base and -term file lists # prepare -base and -term file lists
for termname in \ for termname in \
ansi dumb linux vt100 vt100-nav vt102 vt220 vt52 \ alacritty ansi dumb linux vt100 vt100-nav vt102 vt220 vt52 \
Eterm\* aterm bterm cons25 cygwin eterm\* gnome gnome-256color hurd jfbterm \ Eterm\* aterm bterm cons25 cygwin eterm\* gnome gnome-256color hurd jfbterm \
konsole konsole-256color mach\* mlterm mrxvt nsterm putty{,-256color} pcansi \ kitty konsole konsole-256color mach\* mlterm mrxvt nsterm putty{,-256color} pcansi \
rxvt{,-\*} screen{,-\*color,.[^mlp]\*,.linux,.mlterm\*,.putty{,-256color},.mrxvt} \ rxvt{,-\*} screen{,-\*color,.[^mlp]\*,.linux,.mlterm\*,.putty{,-256color},.mrxvt} \
st{,-\*color} sun teraterm teraterm2.3 tmux{,-\*} vte vte-256color vwmterm \ st{,-\*color} sun teraterm teraterm2.3 tmux{,-\*} vte vte-256color vwmterm \
wsvt25\* xfce xterm xterm-\* wsvt25\* xfce xterm xterm-\*
@ -246,7 +232,7 @@ rm -f $RPM_BUILD_ROOT%{_bindir}/ncurses*5-config
rm -f $RPM_BUILD_ROOT%{_libdir}/terminfo rm -f $RPM_BUILD_ROOT%{_libdir}/terminfo
rm -f $RPM_BUILD_ROOT%{_libdir}/pkgconfig/*_g.pc rm -f $RPM_BUILD_ROOT%{_libdir}/pkgconfig/*_g.pc
bzip2 NEWS xz NEWS
%ldconfig_scriptlets libs %ldconfig_scriptlets libs
@ -255,7 +241,7 @@ bzip2 NEWS
%ldconfig_scriptlets compat-libs %ldconfig_scriptlets compat-libs
%files %files
%doc ANNOUNCE AUTHORS NEWS.bz2 README TO-DO %doc ANNOUNCE AUTHORS NEWS.xz README TO-DO
%{_bindir}/[cirt]* %{_bindir}/[cirt]*
%{_mandir}/man1/[cirt]* %{_mandir}/man1/[cirt]*
%{_mandir}/man5/* %{_mandir}/man5/*
@ -272,7 +258,6 @@ bzip2 NEWS
%{_libdir}/libncurses++*.so.6* %{_libdir}/libncurses++*.so.6*
%files base -f terms.base %files base -f terms.base
%{!?_licensedir:%global license %%doc}
%license COPYING %license COPYING
%doc README %doc README
%dir %{_sysconfdir}/terminfo %dir %{_sysconfdir}/terminfo
@ -301,26 +286,81 @@ bzip2 NEWS
%{_libdir}/lib*.a %{_libdir}/lib*.a
%changelog %changelog
* Tue Aug 15 2023 Miroslav Lichvar <mlichvar@redhat.com> 6.1-10.20180224 * Mon Aug 21 2023 Miroslav Lichvar <mlichvar@redhat.com> 6.2-10.20210508
- ignore TERMINFO and HOME only if setuid/setgid/capability (#2211666)
* Mon Aug 14 2023 Miroslav Lichvar <mlichvar@redhat.com> 6.2-9.20210508
- fix buffer overflow on terminfo with too many capabilities (CVE-2023-29491) - fix buffer overflow on terminfo with too many capabilities (CVE-2023-29491)
- ignore TERMINFO and HOME environment variables if running as root (#2211666)
* Tue May 18 2021 Miroslav Lichvar <mlichvar@redhat.com> 6.1-9.20180224 * Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 6.2-8.20210508
- fix tput to accept -x option (#1916340) - Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Tue May 18 2021 Miroslav Lichvar <mlichvar@redhat.com> 6.1-8.20180224 * Mon May 10 2021 Miroslav Lichvar <mlichvar@redhat.com> 6.2-7.20210508
- fix buffer overflow in terminfo entry hashtable (CVE-2019-17594) - update to 6.2-20210508
- handle missing character after backslash in terminfo entry (CVE-2019-17595)
* Wed Jan 16 2019 Miroslav Lichvar <mlichvar@redhat.com> 6.1-7.20180224 * Tue May 04 2021 Miroslav Lichvar <mlichvar@redhat.com> 6.2-6.20210501
- disable stripping on program installation (#1665177) - update to 6.2-20210501
* Tue Jan 08 2019 Miroslav Lichvar <mlichvar@redhat.com> 6.1-6.20180224 * Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 6.2-5.20200222
- rebuild with latest gcc (#1648947) - Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Fri Jul 27 2018 Miroslav Lichvar <mlichvar@redhat.com> 6.1-5.20180224 * Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 6.2-4.20200222
- fix crash in parsing of terminfo use capability (CVE-2018-10754) - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
- Use make macros
- Remove %license definition
- Add BuildRequires: make
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 6.2-3.20200222
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jun 23 2020 Miroslav Lichvar <mlichvar@redhat.com> 6.2-2.20200222
- move alacritty and kitty entries to -base (#1849974)
* Wed Feb 26 2020 Miroslav Lichvar <mlichvar@redhat.com> 6.2-1.20200222
- update to 6.2-20200222
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 6.1-15.20191109
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Nov 12 2019 Miroslav Lichvar <mlichvar@redhat.com> 6.1-14.20191109
- update to 6.1-20191109
- remove LDFLAGS from pkgconfig files and ncurses-config scripts (#1771137)
* Thu Oct 31 2019 Miroslav Lichvar <mlichvar@redhat.com> 6.1-13.20191026
- update to 6.1-20191026 (CVE-2019-17594 CVE-2019-17595)
- restore rxvt-unicode-256color terminfo (Robbie Harwood) (#1430935)
- conflict/obsolete rxvt-unicode (sub)packages with terminfo (#1430935)
- drop old obsoletes and conflicts
* Wed Aug 07 2019 Miroslav Lichvar <mlichvar@redhat.com> 6.1-12.20190803
- update to 6.1-20190803
- verify upstream signatures
- compress NEWS by xz
* Wed Jul 24 2019 Miroslav Lichvar <mlichvar@redhat.com> 6.1-11.20190720
- update to 6.1-20190720
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 6.1-10.20180923
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Wed Jan 16 2019 Miroslav Lichvar <mlichvar@redhat.com> 6.1-9.20180923
- disable stripping on program installation
* Mon Sep 24 2018 Miroslav Lichvar <mlichvar@redhat.com> 6.1-8.20180923
- update to 6.1-20180923
* Mon Jul 16 2018 Miroslav Lichvar <mlichvar@redhat.com> 6.1-7.20180714
- update to 6.1-20180714
- add gcc-c++ to build requirements - add gcc-c++ to build requirements
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 6.1-6.20180224
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed May 09 2018 Miroslav Lichvar <mlichvar@redhat.com> 6.1-5.20180224
- fix crash in parsing of terminfo use capability (CVE-2018-10754)
* Mon Feb 26 2018 Miroslav Lichvar <mlichvar@redhat.com> 6.1-4.20180224 * Mon Feb 26 2018 Miroslav Lichvar <mlichvar@redhat.com> 6.1-4.20180224
- update to 6.1-20180224 - update to 6.1-20180224
- add gcc to build requirements - add gcc to build requirements

View File

@ -1,20 +0,0 @@
mcd $BUILDDIR/ncurses
$SRC/ncurses-*/configure $TCONFIGARGS \
--with-shared --without-ada --with-ospeed=unsigned \
--with-terminfo-dirs=/etc/terminfo:/usr/share/terminfo \
--enable-hard-tabs --enable-xmc-glitch --enable-colorfgbg \
--enable-overwrite \
--enable-pc-files \
--disable-wattr-macros \
--with-termlib=tinfo \
--with-chtype=long \
--with-ticlib
notparallel
make $J
make $J install
echo "INPUT(-lncurses)" > /usr/lib$SUFFIX/libcurses.so
echo "INPUT(-lncursesw)" > /usr/lib$SUFFIX/libcursesw.so
echo "INPUT(-ltinfo)" > /usr/lib$SUFFIX/libtermcap.so

View File

@ -1,6 +0,0 @@
--- !Policy
product_versions:
- rhel-8
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional}

View File

@ -1,32 +0,0 @@
diff -up ncurses-6.1-20180127/misc/ncurses-config.in.config ncurses-6.1-20180127/misc/ncurses-config.in
--- ncurses-6.1-20180127/misc/ncurses-config.in.config 2017-12-09 23:45:44.000000000 +0100
+++ ncurses-6.1-20180127/misc/ncurses-config.in 2018-01-29 10:57:48.596590822 +0100
@@ -40,7 +40,6 @@ exec_prefix="@exec_prefix@"
bindir="@bindir@"
includedir="@includedir@"
-libdir="@libdir@"
datarootdir="@datarootdir@"
datadir="@datadir@"
mandir="@mandir@"
@@ -111,12 +110,7 @@ while test $# -gt 0; do
ENDECHO
;;
--libs)
- if test "$libdir" = /usr/lib
- then
LIBDIR=
- else
- LIBDIR=-L$libdir
- fi
if test @TINFO_NAME@ = @LIB_NAME@ ; then
sed -e 's,^[ ]*,,' -e 's, [ ]*, ,g' -e 's,[ ]*$,,' <<-ENDECHO
$LIBDIR @EXTRA_LDFLAGS@ -l${THIS} @LIBS@
@@ -154,7 +148,6 @@ ENDECHO
echo $INCS
;;
--libdir)
- echo "${libdir}"
;;
--mandir)
echo "${mandir}"

View File

@ -1,28 +0,0 @@
From snapshot 6.1-20191012
diff --git a/ncurses/tinfo/comp_hash.c b/ncurses/tinfo/comp_hash.c
index 21f165ca..a62d38f9 100644
--- a/ncurses/tinfo/comp_hash.c
+++ b/ncurses/tinfo/comp_hash.c
@@ -63,7 +63,9 @@ _nc_find_entry(const char *string,
hashvalue = data->hash_of(string);
- if (data->table_data[hashvalue] >= 0) {
+ if (hashvalue >= 0
+ && (unsigned) hashvalue < data->table_size
+ && data->table_data[hashvalue] >= 0) {
real_table = _nc_get_table(termcap);
ptr = real_table + data->table_data[hashvalue];
@@ -96,7 +98,9 @@ _nc_find_type_entry(const char *string,
const HashData *data = _nc_get_hash_info(termcap);
int hashvalue = data->hash_of(string);
- if (data->table_data[hashvalue] >= 0) {
+ if (hashvalue >= 0
+ && (unsigned) hashvalue < data->table_size
+ && data->table_data[hashvalue] >= 0) {
const struct name_table_entry *const table = _nc_get_table(termcap);
ptr = table + data->table_data[hashvalue];

View File

@ -1,16 +0,0 @@
From snapshot 6.1-20191012
diff --git a/progs/dump_entry.c b/progs/dump_entry.c
index d0e420ec..8a47084a 100644
--- a/progs/dump_entry.c
+++ b/progs/dump_entry.c
@@ -1136,7 +1136,8 @@ fmt_entry(TERMTYPE2 *tterm,
*d++ = '\\';
*d = ':';
} else if (*d == '\\') {
- *++d = *s++;
+ if ((*++d = *s++) == '\0')
+ break;
}
d++;
*d = '\0';

View File

@ -1,58 +0,0 @@
diff -up ncurses-6.0-20150810/c++/Makefile.in.libs ncurses-6.0-20150810/c++/Makefile.in
--- ncurses-6.0-20150810/c++/Makefile.in.libs 2015-08-06 01:15:41.000000000 +0200
+++ ncurses-6.0-20150810/c++/Makefile.in 2015-08-12 17:07:35.573822650 +0200
@@ -112,7 +112,7 @@ LOCAL_LIBDIR = @top_builddir@/lib
LINK = @LINK_PROGS@ $(LIBTOOL_LINK) @CXXLDFLAGS@
SHLIB_DIRS = -L../lib
-SHLIB_LIST = $(SHLIB_DIRS) -lform@USE_LIB_SUFFIX@ -lmenu@USE_LIB_SUFFIX@ -lpanel@USE_LIB_SUFFIX@ -lncurses@USE_LIB_SUFFIX@ @SHLIB_LIST@
+SHLIB_LIST = $(SHLIB_DIRS) -lform@USE_LIB_SUFFIX@ -lmenu@USE_LIB_SUFFIX@ -lpanel@USE_LIB_SUFFIX@ -lncurses@USE_LIB_SUFFIX@ #@SHLIB_LIST@
LIBROOT = ncurses++
@@ -147,8 +147,7 @@ LDFLAGS_SHARED = $(TEST_LDFLAGS) $(CFLAG
LDFLAGS_DEFAULT = $(LINK_@DFT_UPR_MODEL@) $(LDFLAGS_@DFT_UPR_MODEL@)
# flags for library built by this makefile
-LDFLAGS = $(TEST_ARGS) @LDFLAGS@ \
- @LD_MODEL@ $(TEST_LIBS) @LIBS@ $(CXXLIBS)
+LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@ $(CXXLIBS)
AUTO_SRC = \
etip.h
diff -up ncurses-6.0-20150810/form/Makefile.in.libs ncurses-6.0-20150810/form/Makefile.in
--- ncurses-6.0-20150810/form/Makefile.in.libs 2015-08-12 17:06:49.072684924 +0200
+++ ncurses-6.0-20150810/form/Makefile.in 2015-08-12 17:08:14.945939259 +0200
@@ -107,7 +107,7 @@ LINK = $(LIBTOOL_LINK)
LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@
SHLIB_DIRS = -L../lib
-SHLIB_LIST = $(SHLIB_DIRS) -lncurses@USE_LIB_SUFFIX@ @SHLIB_LIST@
+SHLIB_LIST = $(SHLIB_DIRS) -lncurses@USE_LIB_SUFFIX@ #@SHLIB_LIST@
RPATH_LIST = @RPATH_LIST@
RESULTING_SYMS = @RESULTING_SYMS@
diff -up ncurses-6.0-20150810/menu/Makefile.in.libs ncurses-6.0-20150810/menu/Makefile.in
--- ncurses-6.0-20150810/menu/Makefile.in.libs 2015-08-12 17:06:49.072684924 +0200
+++ ncurses-6.0-20150810/menu/Makefile.in 2015-08-12 17:09:10.135102716 +0200
@@ -107,7 +107,7 @@ LINK = $(LIBTOOL_LINK)
LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@
SHLIB_DIRS = -L../lib
-SHLIB_LIST = $(SHLIB_DIRS) -lncurses@USE_LIB_SUFFIX@ @SHLIB_LIST@
+SHLIB_LIST = $(SHLIB_DIRS) -lncurses@USE_LIB_SUFFIX@ #@SHLIB_LIST@
RPATH_LIST = @RPATH_LIST@
RESULTING_SYMS = @RESULTING_SYMS@
diff -up ncurses-6.0-20150810/panel/Makefile.in.libs ncurses-6.0-20150810/panel/Makefile.in
--- ncurses-6.0-20150810/panel/Makefile.in.libs 2015-08-12 17:06:49.072684924 +0200
+++ ncurses-6.0-20150810/panel/Makefile.in 2015-08-12 17:09:33.324171396 +0200
@@ -109,7 +109,7 @@ LINK = $(LIBTOOL_LINK)
LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@
SHLIB_DIRS = -L../lib
-SHLIB_LIST = $(SHLIB_DIRS) -lncurses@USE_LIB_SUFFIX@ @SHLIB_LIST@
+SHLIB_LIST = $(SHLIB_DIRS) -lncurses@USE_LIB_SUFFIX@ #@SHLIB_LIST@
RPATH_LIST = @RPATH_LIST@
RESULTING_SYMS = @RESULTING_SYMS@

View File

@ -1,15 +0,0 @@
From snapshot 6.1-20180630
diff --git a/progs/tput.c b/progs/tput.c
index fd051eb4..88e75799 100644
--- a/progs/tput.c
+++ b/progs/tput.c
@@ -293,7 +293,7 @@ main(int argc, char **argv)
term = getenv("TERM");
- while ((c = getopt(argc, argv, "ST:V")) != -1) {
+ while ((c = getopt(argc, argv, "ST:Vx")) != -1) {
switch (c) {
case 'S':
cmdline = FALSE;

View File

@ -1,22 +0,0 @@
20180414
+ add a null-pointer check in _nc_parse_entry to handle an error when
a use-name is invalid syntax (report by Chung-Yi Lin).
diff --git a/ncurses/tinfo/parse_entry.c b/ncurses/tinfo/parse_entry.c
index 2b54f45d..437f1223 100644
--- a/ncurses/tinfo/parse_entry.c
+++ b/ncurses/tinfo/parse_entry.c
@@ -543,9 +543,11 @@ _nc_parse_entry(ENTRY * entryp, int literal, bool silent)
* Otherwise, look for a base entry that will already
* have picked up defaults via translation.
*/
- for (i = 0; i < entryp->nuses; i++)
- if (!strchr((char *) entryp->uses[i].name, '+'))
+ for (i = 0; i < entryp->nuses; i++) {
+ if (entryp->uses[i].name != 0
+ && !strchr(entryp->uses[i].name, '+'))
has_base_entry = TRUE;
+ }
}
postprocess_termcap(&entryp->tterm, has_base_entry);

View File

@ -1 +0,0 @@
SHA512 (ncurses-6.1-20180224.tgz) = 26a0b8a88e965fa4089a48cd0af46b0ffa90d621a7d207c5c09c8cbd60f2cf073953c64ad109469bef9f52e5137067924148c33880cdd2161024a6e42ea4607d