forked from pool/ncurses
Accepting request 509422 from Base:System
- Add Ncurses patch 20170708 + add a note to tic manual page about -W versus -f options. + correct a limit-check in fixes from 20170701 (report by Sven Joachim). - This also for bug bsc#1047964 and bug bsc#1047965 - Add ncurses patch 20170701 (bsc#1046853, bsc#1046858) + modify update_getenv() in db_iterator.c to ensure that environment variables which are not initially set will be checked later if an application happens to set them (patch by Guillaume Maudoux). + remove initialization-check for calling napms() in the term-driver configuration; none is needed. + add help-screen to test/test_getstr.c and test/test_get_wstr.c + improve compatibility between different configurations of new_prescr, fixing a case with threaded code and term-driver where c++/demo did not work (cf: 20160213). + the fixes for Redhat #1464685 obscured a problem subsequently reported in Redhat #1464687; the given test-case was no longer reproducible. Testing without the fixes for the earlier reports showed a problem with buffer overflow in dump_entry.c, which is addressed by reducing the use of a fixed-size buffer. + add/improve checks in tic's parser to address invalid input (Redhat #1464684, #1464685, #1464686, #1464691). + alloc_entry.c, add a check for a null-pointer. + parse_entry.c, add several checks for valid pointers as well as one check to ensure that a single character on a line is not treated as the 2-character termcap short-name. + fix a memory leak in delscreen() (report by Bai Junq). + improve tracemunch, showing thread identifiers as names. + fix a use-after-free in NCursesMenu::~NCursesMenu() + further amend incorrect calls for memory-leaks from 20170617 changes OBS-URL: https://build.opensuse.org/request/show/509422 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ncurses?expand=0&rev=132
This commit is contained in:
commit
381c5a6e7c
@ -1,30 +0,0 @@
|
||||
---
|
||||
ncurses/curses.priv.h | 10 +++++-----
|
||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
--- ncurses/curses.priv.h
|
||||
+++ ncurses/curses.priv.h 2017-05-30 07:21:41.456357778 +0000
|
||||
@@ -1137,11 +1137,6 @@ struct screen {
|
||||
int _pair_count; /* same as COLOR_PAIRS */
|
||||
int _pair_limit; /* actual limit of color-pairs */
|
||||
#if NCURSES_EXT_FUNCS
|
||||
-#if USE_NEW_PAIR
|
||||
- void *_ordered_pairs; /* index used by alloc_pair() */
|
||||
- int _pairs_used; /* actual number of color-pairs used */
|
||||
- int _recent_pair; /* number for most recent free-pair */
|
||||
-#endif
|
||||
bool _assumed_color; /* use assumed colors */
|
||||
bool _default_color; /* use default colors */
|
||||
bool _has_sgr_39_49; /* has ECMA default color support */
|
||||
@@ -1295,6 +1290,11 @@ struct screen {
|
||||
/*
|
||||
* ncurses/ncursesw are the same up to this point.
|
||||
*/
|
||||
+#if USE_NEW_PAIR
|
||||
+ void *_ordered_pairs; /* index used by alloc_pair() */
|
||||
+ int _pairs_used; /* actual number of color-pairs used */
|
||||
+ int _recent_pair; /* number for most recent free-pair */
|
||||
+#endif
|
||||
#if USE_WIDEC_SUPPORT
|
||||
/* recent versions of 'screen' have partially-working support for
|
||||
* UTF-8, but do not permit ACS at the same time (see tty_update.c).
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:9edbe2cd0ffbfee005f83b1f4da69e8167729f1004ee5d35abf1e519de077c25
|
||||
size 2565370
|
||||
oid sha256:f869069485b656d189d240520e05463ead60bba34e15126bf9b5362ebd28aad1
|
||||
size 2638856
|
||||
|
@ -21,7 +21,7 @@
|
||||
19 files changed, 247 insertions(+), 80 deletions(-)
|
||||
|
||||
--- aclocal.m4
|
||||
+++ aclocal.m4 2017-05-10 11:59:56.037033307 +0000
|
||||
+++ aclocal.m4 2017-07-03 07:09:04.699399144 +0000
|
||||
@@ -580,7 +580,7 @@ AC_MSG_CHECKING([for size of bool])
|
||||
AC_CACHE_VAL(cf_cv_type_of_bool,[
|
||||
rm -f cf_test.out
|
||||
@ -150,7 +150,7 @@
|
||||
esac
|
||||
done
|
||||
--- configure
|
||||
+++ configure 2017-05-10 11:59:56.041033232 +0000
|
||||
+++ configure 2017-07-03 07:09:04.699399144 +0000
|
||||
@@ -5925,7 +5925,7 @@ case $cf_cv_system_name in
|
||||
fi
|
||||
;;
|
||||
@ -278,7 +278,7 @@
|
||||
;;
|
||||
esac
|
||||
done
|
||||
@@ -22742,6 +22746,7 @@ if test "$with_termlib" != no ; then
|
||||
@@ -22746,6 +22750,7 @@ if test "$with_termlib" != no ; then
|
||||
TINFO_LDFLAGS="-L${LIB_DIR}"
|
||||
SHLIB_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
|
||||
fi
|
||||
@ -287,7 +287,7 @@
|
||||
# the next lines are needed for linking libtic over libncurses
|
||||
TINFO_NAME=${LIB_NAME}
|
||||
--- include/curses.h.in
|
||||
+++ include/curses.h.in 2017-05-10 11:59:56.041033232 +0000
|
||||
+++ include/curses.h.in 2017-07-03 07:09:04.699399144 +0000
|
||||
@@ -177,6 +177,9 @@ typedef @cf_cv_typeof_chtype@ chtype;
|
||||
typedef @cf_cv_typeof_mmask_t@ mmask_t;
|
||||
#endif
|
||||
@ -299,7 +299,7 @@
|
||||
* We need FILE, etc. Include this before checking any feature symbols.
|
||||
*/
|
||||
--- include/termcap.h.in
|
||||
+++ include/termcap.h.in 2017-05-10 11:59:56.041033232 +0000
|
||||
+++ include/termcap.h.in 2017-07-03 07:09:04.699399144 +0000
|
||||
@@ -46,6 +46,8 @@ extern "C"
|
||||
{
|
||||
#endif /* __cplusplus */
|
||||
@ -310,7 +310,7 @@
|
||||
|
||||
#undef NCURSES_CONST
|
||||
--- include/tic.h
|
||||
+++ include/tic.h 2017-05-10 11:59:56.041033232 +0000
|
||||
+++ include/tic.h 2017-07-03 07:09:04.699399144 +0000
|
||||
@@ -205,12 +205,12 @@ struct alias
|
||||
*/
|
||||
|
||||
@ -327,7 +327,7 @@
|
||||
#define CANCELLED_STRING (char *)(-1)
|
||||
|
||||
--- man/man_db.renames
|
||||
+++ man/man_db.renames 2017-05-10 11:59:56.041033232 +0000
|
||||
+++ man/man_db.renames 2017-07-03 07:09:04.703399070 +0000
|
||||
@@ -163,6 +163,7 @@ term.7 term.7
|
||||
term_variables.3x terminfo_variables.3ncurses
|
||||
terminfo.5 terminfo.5
|
||||
@ -345,7 +345,7 @@
|
||||
#
|
||||
getty.1 getty.8
|
||||
--- man/ncurses.3x
|
||||
+++ man/ncurses.3x 2017-05-10 11:59:56.041033232 +0000
|
||||
+++ man/ncurses.3x 2017-07-03 07:09:04.703399070 +0000
|
||||
@@ -137,6 +137,10 @@ after the shell environment variable \fB
|
||||
[See \fBterminfo\fR(\*n) for further details.]
|
||||
.SS Datatypes
|
||||
@ -358,7 +358,7 @@
|
||||
called \fIwindows\fR, which can be thought of as two-dimensional
|
||||
arrays of characters representing all or part of a CRT screen.
|
||||
--- misc/gen-pkgconfig.in
|
||||
+++ misc/gen-pkgconfig.in 2017-05-10 11:59:56.041033232 +0000
|
||||
+++ misc/gen-pkgconfig.in 2017-07-03 07:09:04.703399070 +0000
|
||||
@@ -76,7 +76,7 @@ if test "$includedir" != "/usr/include"
|
||||
fi
|
||||
|
||||
@ -398,7 +398,7 @@
|
||||
|
||||
echo "** creating ${name}${suffix}.pc"
|
||||
--- misc/ncurses-config.in
|
||||
+++ misc/ncurses-config.in 2017-05-10 11:59:56.041033232 +0000
|
||||
+++ misc/ncurses-config.in 2017-07-03 07:09:04.703399070 +0000
|
||||
@@ -100,7 +100,7 @@ while test $# -gt 0; do
|
||||
# compile/link
|
||||
--cflags)
|
||||
@ -409,7 +409,7 @@
|
||||
fi
|
||||
if test "${includedir}" != /usr/include ; then
|
||||
--- misc/terminfo.src
|
||||
+++ misc/terminfo.src 2017-05-12 06:29:16.720420832 +0000
|
||||
+++ misc/terminfo.src 2017-07-03 07:09:04.763397957 +0000
|
||||
@@ -301,7 +301,9 @@ dumb|80-column dumb tty,
|
||||
am,
|
||||
cols#80,
|
||||
@ -803,8 +803,8 @@
|
||||
s1ds=\E(0, sgr0=\E[0m\E(B, use=ibm5154,
|
||||
ibm5081-c|ibmmpel-c|IBM 5081 1024x1024 256/4096 Megapel enhanced color display,
|
||||
--- ncurses/Makefile.in
|
||||
+++ ncurses/Makefile.in 2017-05-10 11:59:56.045033156 +0000
|
||||
@@ -218,7 +218,7 @@ $(DESTDIR)$(libdir) :
|
||||
+++ ncurses/Makefile.in 2017-07-03 07:09:04.707398995 +0000
|
||||
@@ -219,7 +219,7 @@ $(DESTDIR)$(libdir) :
|
||||
../lib : ; mkdir $@
|
||||
|
||||
./fallback.c : $(tinfo)/MKfallback.sh
|
||||
@ -814,8 +814,8 @@
|
||||
./lib_gen.c : $(base)/MKlib_gen.sh ../include/curses.h
|
||||
$(SHELL) -e $(base)/MKlib_gen.sh "$(CPP) $(CPPFLAGS)" "$(AWK)" generated <../include/curses.h >$@
|
||||
--- ncurses/curses.priv.h
|
||||
+++ ncurses/curses.priv.h 2017-05-10 11:59:56.049033080 +0000
|
||||
@@ -2079,6 +2079,8 @@ extern NCURSES_EXPORT(char *) _nc_tracec
|
||||
+++ ncurses/curses.priv.h 2017-07-03 07:09:04.707398995 +0000
|
||||
@@ -2122,6 +2122,8 @@ extern NCURSES_EXPORT(char *) _nc_tracec
|
||||
extern NCURSES_EXPORT(char *) _nc_tracemouse (SCREEN *, MEVENT const *);
|
||||
extern NCURSES_EXPORT(char *) _nc_trace_mmask_t (SCREEN *, mmask_t);
|
||||
extern NCURSES_EXPORT(int) _nc_access (const char *, int);
|
||||
@ -825,7 +825,7 @@
|
||||
extern NCURSES_EXPORT(int) _nc_freewin (WINDOW *);
|
||||
extern NCURSES_EXPORT(int) _nc_getenv_num (const char *);
|
||||
--- ncurses/run_cmd.sh
|
||||
+++ ncurses/run_cmd.sh 2017-05-10 11:59:56.049033080 +0000
|
||||
+++ ncurses/run_cmd.sh 2017-07-03 07:09:04.707398995 +0000
|
||||
@@ -0,0 +1,11 @@
|
||||
+#!/bin/sh
|
||||
+
|
||||
@ -839,7 +839,7 @@
|
||||
+
|
||||
+exec ${1+"$@"}
|
||||
--- ncurses/tinfo/MKfallback.sh
|
||||
+++ ncurses/tinfo/MKfallback.sh 2017-05-10 11:59:56.049033080 +0000
|
||||
+++ ncurses/tinfo/MKfallback.sh 2017-07-03 07:09:04.707398995 +0000
|
||||
@@ -68,6 +68,12 @@ else
|
||||
tmp_info=
|
||||
fi
|
||||
@ -872,7 +872,7 @@
|
||||
done
|
||||
|
||||
--- ncurses/tinfo/access.c
|
||||
+++ ncurses/tinfo/access.c 2017-05-10 11:59:56.049033080 +0000
|
||||
+++ ncurses/tinfo/access.c 2017-07-03 07:09:04.707398995 +0000
|
||||
@@ -35,6 +35,9 @@
|
||||
#include <ctype.h>
|
||||
|
||||
@ -915,7 +915,7 @@
|
||||
_nc_access(const char *path, int mode)
|
||||
{
|
||||
--- ncurses/tinfo/lib_setup.c
|
||||
+++ ncurses/tinfo/lib_setup.c 2017-05-10 11:59:56.049033080 +0000
|
||||
+++ ncurses/tinfo/lib_setup.c 2017-07-03 07:09:04.707398995 +0000
|
||||
@@ -599,6 +599,9 @@ _nc_locale_breaks_acs(TERMINAL *termp)
|
||||
} else if ((value = tigetnum("U8")) >= 0) {
|
||||
result = value; /* use extension feature */
|
||||
@ -927,7 +927,7 @@
|
||||
result = 1; /* always broken */
|
||||
} else if (strstr(env, "screen") != 0
|
||||
--- ncurses/tinfo/read_entry.c
|
||||
+++ ncurses/tinfo/read_entry.c 2017-05-10 11:59:56.049033080 +0000
|
||||
+++ ncurses/tinfo/read_entry.c 2017-07-03 07:09:04.711398921 +0000
|
||||
@@ -431,6 +431,7 @@ _nc_read_file_entry(const char *const fi
|
||||
FILE *fp = 0;
|
||||
int code;
|
||||
@ -945,7 +945,7 @@
|
||||
return (code);
|
||||
}
|
||||
--- ncurses/tinfo/read_termcap.c
|
||||
+++ ncurses/tinfo/read_termcap.c 2017-05-10 11:59:56.049033080 +0000
|
||||
+++ ncurses/tinfo/read_termcap.c 2017-07-03 07:09:04.711398921 +0000
|
||||
@@ -322,14 +322,18 @@ _nc_getent(
|
||||
*/
|
||||
if (fd >= 0) {
|
||||
@ -992,8 +992,8 @@
|
||||
}
|
||||
if (copied != 0)
|
||||
--- test/test.priv.h
|
||||
+++ test/test.priv.h 2017-05-10 11:59:56.049033080 +0000
|
||||
@@ -801,12 +801,12 @@ extern char *strnames[], *strcodes[], *s
|
||||
+++ test/test.priv.h 2017-07-03 07:09:04.711398921 +0000
|
||||
@@ -805,12 +805,12 @@ extern char *strnames[], *strcodes[], *s
|
||||
#endif
|
||||
|
||||
/* out-of-band values for representing absent capabilities */
|
||||
|
@ -1,3 +1,90 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Jul 10 07:17:16 UTC 2017 - werner@suse.de
|
||||
|
||||
- Add Ncurses patch 20170708
|
||||
+ add a note to tic manual page about -W versus -f options.
|
||||
+ correct a limit-check in fixes from 20170701 (report by Sven Joachim).
|
||||
- This also for bug bsc#1047964 and bug bsc#1047965
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jul 3 07:01:41 UTC 2017 - werner@suse.de
|
||||
|
||||
- Add ncurses patch 20170701 (bsc#1046853, bsc#1046858)
|
||||
+ modify update_getenv() in db_iterator.c to ensure that environment
|
||||
variables which are not initially set will be checked later if an
|
||||
application happens to set them (patch by Guillaume Maudoux).
|
||||
+ remove initialization-check for calling napms() in the term-driver
|
||||
configuration; none is needed.
|
||||
+ add help-screen to test/test_getstr.c and test/test_get_wstr.c
|
||||
+ improve compatibility between different configurations of new_prescr,
|
||||
fixing a case with threaded code and term-driver where c++/demo did
|
||||
not work (cf: 20160213).
|
||||
+ the fixes for Redhat #1464685 obscured a problem subsequently
|
||||
reported in Redhat #1464687; the given test-case was no longer
|
||||
reproducible. Testing without the fixes for the earlier reports
|
||||
showed a problem with buffer overflow in dump_entry.c, which is
|
||||
addressed by reducing the use of a fixed-size buffer.
|
||||
+ add/improve checks in tic's parser to address invalid input
|
||||
(Redhat #1464684, #1464685, #1464686, #1464691).
|
||||
+ alloc_entry.c, add a check for a null-pointer.
|
||||
+ parse_entry.c, add several checks for valid pointers as well as
|
||||
one check to ensure that a single character on a line is not
|
||||
treated as the 2-character termcap short-name.
|
||||
+ fix a memory leak in delscreen() (report by Bai Junq).
|
||||
+ improve tracemunch, showing thread identifiers as names.
|
||||
+ fix a use-after-free in NCursesMenu::~NCursesMenu()
|
||||
+ further amend incorrect calls for memory-leaks from 20170617 changes
|
||||
(report by Allen Hewes).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jun 25 07:12:59 UTC 2017 - werner@suse.de
|
||||
|
||||
- Add ncurses patch 20170624
|
||||
+ modify c++/etip.h.in to accommodate deprecation of throw() and
|
||||
throws() in c++17 (prompted by patch by Romain Geissler).
|
||||
+ remove some incorrect calls for memory-leaks from 20170617 changes
|
||||
(report by Allen Hewes).
|
||||
+ add test-programs for termattrs and term_attrs.
|
||||
+ modify _nc_outc_wrapper to use the standard output if the screen was
|
||||
not initialized, rather than returning an error.
|
||||
+ improve checks for low-level terminfo functions when the terminal
|
||||
has not been initialized (Redhat #1345963).
|
||||
+ modify make_hash to allow building with address-sanitizer,
|
||||
assuming that --disable-leaks is configured.
|
||||
+ amend changes for number_format() in 20170506 to avoid undefined
|
||||
behavior when shifting (patch by Emanuele Giaquinta).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 21 10:24:20 UTC 2017 - werner@suse.de
|
||||
|
||||
- Add ncurses patch 20170617
|
||||
+ fill in some places where TERMTYPE2 vs TERMTYPE was not used
|
||||
(report by Allen Hewes).
|
||||
+ use ExitTerminfo() internally in error-exits for ncurses' setupterm
|
||||
to help with leak checking.
|
||||
+ use ExitProgram() in error-exit from initscr() to help with leak
|
||||
checking.
|
||||
+ review test-programs, adding checks for cases where the terminal
|
||||
cannot be initialized.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jun 12 13:11:49 UTC 2017 - werner@suse.de
|
||||
|
||||
- Add ncurses patch 20170610
|
||||
+ add option "-xp" to picsmap.c, to use init_extended_pair().
|
||||
+ make simple performance fixes for picsmap.c
|
||||
+ improve aspect ratio of images read from "convert" in picsmap.c
|
||||
- Add ncurses patch 20170603
|
||||
+ add option to picsmap to use color-palette files, e.g., for mapping
|
||||
to xterm-256color.
|
||||
+ move the data in SCREEN used for the alloc_pair() function to the
|
||||
end, to restore compatibility between ncurses/ncursesw libtinfo
|
||||
(report/patch by Miroslav Lichvar).
|
||||
+ add build-time utility "report_offsets" to help show when the various
|
||||
configurations of tinfo library are compatible or not.
|
||||
- Remove patch ncurses-6.0-crashw.patch as a temporary as now part
|
||||
of patch level 20170603
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 30 07:29:14 UTC 2017 - werner@suse.de
|
||||
|
||||
|
@ -66,9 +66,6 @@ Source7: baselibs.conf
|
||||
Patch0: ncurses-6.0.dif
|
||||
Patch1: ncurses-5.9-ibm327x.dif
|
||||
Patch4: ncurses-5.7-tack.dif
|
||||
# PATCH-FIX-UPSTREAM ... temporary patch which will become part of next
|
||||
# patch level: fix binary incompatiblity of libtinfow with libtinfo
|
||||
Patch40: ncurses-6.0-crashw.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%global _miscdir %{_datadir}/misc
|
||||
%global _incdir %{_includedir}
|
||||
@ -240,7 +237,6 @@ find -name '*.orig' -delete
|
||||
rm -fr tack
|
||||
tar -xzf %{S:5}
|
||||
mv tack-* tack
|
||||
%patch40 -p0 -b .crash
|
||||
%patch1 -p0 -b .327x
|
||||
%patch4 -p0 -b .hs
|
||||
%patch0 -p0 -b .p0
|
||||
|
Loading…
Reference in New Issue
Block a user