fix Null pointer reference
This commit is contained in:
parent
09a78073ef
commit
904923016f
13
screen-4.3.1-crypt.patch
Normal file
13
screen-4.3.1-crypt.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/misc.c b/misc.c
|
||||||
|
index 43e93a2..178fda9 100644
|
||||||
|
--- a/misc.c
|
||||||
|
+++ b/misc.c
|
||||||
|
@@ -56,6 +56,8 @@ register const char *str;
|
||||||
|
{
|
||||||
|
register char *cp;
|
||||||
|
|
||||||
|
+ if(str == NULL)
|
||||||
|
+ Panic(0, "SaveStr() received NULL - possibly failed crypt()");
|
||||||
|
if ((cp = malloc(strlen(str) + 1)) == NULL)
|
||||||
|
Panic(0, "%s", strnomem);
|
||||||
|
else
|
||||||
157
screen-4.3.1-screenrc.patch
Normal file
157
screen-4.3.1-screenrc.patch
Normal file
@ -0,0 +1,157 @@
|
|||||||
|
diff -up screen-4.0.3/etc/etcscreenrc.screenrc screen-4.0.3/etc/etcscreenrc
|
||||||
|
--- screen-4.0.3/etc/etcscreenrc.screenrc 2003-12-05 14:46:13.000000000 +0100
|
||||||
|
+++ screen-4.0.3/etc/etcscreenrc 2009-09-25 14:20:31.000000000 +0200
|
||||||
|
@@ -36,8 +36,8 @@ vbell_msg " Wuff ---- Wuff!! "
|
||||||
|
# IC insert multiple chars
|
||||||
|
# nx terminal uses xon/xoff
|
||||||
|
|
||||||
|
-termcap facit|vt100|xterm LP:G0
|
||||||
|
-terminfo facit|vt100|xterm LP:G0
|
||||||
|
+termcap facit|vt100|xterm|xterm-* LP:G0
|
||||||
|
+terminfo facit|vt100|xterm|xterm-* LP:G0
|
||||||
|
|
||||||
|
#the vt100 description does not mention "dl". *sigh*
|
||||||
|
termcap vt100 dl=5\E[M
|
||||||
|
@@ -55,15 +55,15 @@ terminfo sun 'up=^K:AL=\E[%p1%dL:DL=\E[%
|
||||||
|
#xterm understands both im/ic and doesn't have a status line.
|
||||||
|
#Note: Do not specify im and ic in the real termcap/info file as
|
||||||
|
#some programs (e.g. vi) will (no,no, may (jw)) not work anymore.
|
||||||
|
-termcap xterm|fptwist hs@:cs=\E[%i%d;%dr:im=\E[4h:ei=\E[4l
|
||||||
|
-terminfo xterm|fptwist hs@:cs=\E[%i%p1%d;%p2%dr:im=\E[4h:ei=\E[4l
|
||||||
|
+#termcap xterm|fptwist hs@:cs=\E[%i%d;%dr:im=\E[4h:ei=\E[4l
|
||||||
|
+#terminfo xterm|fptwist hs@:cs=\E[%i%p1%d;%p2%dr:im=\E[4h:ei=\E[4l
|
||||||
|
|
||||||
|
# Long time I had this in my private screenrc file. But many people
|
||||||
|
# seem to want it (jw):
|
||||||
|
# we do not want the width to change to 80 characters on startup:
|
||||||
|
# on suns, /etc/termcap has :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l:
|
||||||
|
-termcap xterm 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l'
|
||||||
|
-terminfo xterm 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l'
|
||||||
|
+#termcap xterm 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l'
|
||||||
|
+#terminfo xterm 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l'
|
||||||
|
|
||||||
|
#
|
||||||
|
# Do not use xterms alternate window buffer.
|
||||||
|
diff -up screen-4.0.3/etc/screenrc.screenrc screen-4.0.3/etc/screenrc
|
||||||
|
--- screen-4.0.3/etc/screenrc.screenrc 2006-10-23 15:06:32.000000000 +0200
|
||||||
|
+++ screen-4.0.3/etc/screenrc 2009-09-25 14:31:30.000000000 +0200
|
||||||
|
@@ -1,21 +1,11 @@
|
||||||
|
-#
|
||||||
|
-# Example of a user's .screenrc file
|
||||||
|
-#
|
||||||
|
-
|
||||||
|
# This is how one can set a reattach password:
|
||||||
|
# password ODSJQf.4IJN7E # "1234"
|
||||||
|
|
||||||
|
-# no annoying audible bell, please
|
||||||
|
-vbell on
|
||||||
|
-
|
||||||
|
-# detach on hangup
|
||||||
|
-autodetach on
|
||||||
|
-
|
||||||
|
# don't display the copyright page
|
||||||
|
startup_message off
|
||||||
|
|
||||||
|
# emulate .logout message
|
||||||
|
-pow_detach_msg "Screen session of \$LOGNAME \$:cr:\$:nl:ended."
|
||||||
|
+pow_detach_msg "Screen session of $LOGNAME $:cr:$:nl:ended."
|
||||||
|
|
||||||
|
# advertise hardstatus support to $TERMCAP
|
||||||
|
# termcapinfo * '' 'hs:ts=\E_:fs=\E\\:ds=\E_\E\\'
|
||||||
|
@@ -40,18 +30,12 @@ defscrollback 1000
|
||||||
|
|
||||||
|
################
|
||||||
|
#
|
||||||
|
-# xterm tweaks
|
||||||
|
+# more xterm tweaks
|
||||||
|
#
|
||||||
|
|
||||||
|
-#xterm understands both im/ic and doesn't have a status line.
|
||||||
|
-#Note: Do not specify im and ic in the real termcap/info file as
|
||||||
|
-#some programs (e.g. vi) will not work anymore.
|
||||||
|
-termcap xterm hs@:cs=\E[%i%d;%dr:im=\E[4h:ei=\E[4l
|
||||||
|
-terminfo xterm hs@:cs=\E[%i%p1%d;%p2%dr:im=\E[4h:ei=\E[4l
|
||||||
|
-
|
||||||
|
#80/132 column switching must be enabled for ^AW to work
|
||||||
|
#change init sequence to not switch width
|
||||||
|
-termcapinfo xterm Z0=\E[?3h:Z1=\E[?3l:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l
|
||||||
|
+#termcapinfo xterm Z0=\E[?3h:Z1=\E[?3l:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l
|
||||||
|
|
||||||
|
# Make the output buffer large for (fast) xterms.
|
||||||
|
#termcapinfo xterm* OL=10000
|
||||||
|
@@ -59,18 +43,18 @@ termcapinfo xterm* OL=100
|
||||||
|
|
||||||
|
# tell screen that xterm can switch to dark background and has function
|
||||||
|
# keys.
|
||||||
|
-termcapinfo xterm 'VR=\E[?5h:VN=\E[?5l'
|
||||||
|
-termcapinfo xterm 'k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~'
|
||||||
|
-termcapinfo xterm 'kh=\EOH:kI=\E[2~:kD=\E[3~:kH=\EOF:kP=\E[5~:kN=\E[6~'
|
||||||
|
+termcapinfo xterm|xterm-* 'VR=\E[?5h:VN=\E[?5l'
|
||||||
|
+#termcapinfo xterm 'k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~'
|
||||||
|
+#termcapinfo xterm 'kh=\EOH:kI=\E[2~:kD=\E[3~:kH=\EOF:kP=\E[5~:kN=\E[6~'
|
||||||
|
|
||||||
|
# special xterm hardstatus: use the window title.
|
||||||
|
-termcapinfo xterm 'hs:ts=\E]2;:fs=\007:ds=\E]2;screen\007'
|
||||||
|
+termcapinfo xterm|xterm-* 'hs:ts=\E]2;:fs=\007:ds=\E]2;screen\007'
|
||||||
|
|
||||||
|
#terminfo xterm 'vb=\E[?5h$<200/>\E[?5l'
|
||||||
|
-termcapinfo xterm 'vi=\E[?25l:ve=\E[34h\E[?25h:vs=\E[34l'
|
||||||
|
+#termcapinfo xterm 'vi=\E[?25l:ve=\E[34h\E[?25h:vs=\E[34l'
|
||||||
|
|
||||||
|
# emulate part of the 'K' charset
|
||||||
|
-termcapinfo xterm 'XC=K%,%\E(B,[\304,\\\\\326,]\334,{\344,|\366,}\374,~\337'
|
||||||
|
+termcapinfo xterm|xterm-* 'XC=K%,%\E(B,[\304,\\\\\326,]\334,{\344,|\366,}\374,~\337'
|
||||||
|
|
||||||
|
# xterm-52 tweaks:
|
||||||
|
# - uses background color for delete operations
|
||||||
|
@@ -103,32 +87,12 @@ termcapinfo linux C8
|
||||||
|
# old rxvt versions also need this
|
||||||
|
# termcapinfo rxvt C8
|
||||||
|
|
||||||
|
-
|
||||||
|
-################
|
||||||
|
-#
|
||||||
|
-# keybindings
|
||||||
|
-#
|
||||||
|
-
|
||||||
|
-#remove some stupid / dangerous key bindings
|
||||||
|
-bind k
|
||||||
|
-bind ^k
|
||||||
|
-bind .
|
||||||
|
-bind ^\
|
||||||
|
-bind \\
|
||||||
|
-bind ^h
|
||||||
|
-bind h
|
||||||
|
-#make them better
|
||||||
|
-bind 'K' kill
|
||||||
|
-bind 'I' login on
|
||||||
|
-bind 'O' login off
|
||||||
|
-bind '}' history
|
||||||
|
-
|
||||||
|
# Yet another hack:
|
||||||
|
# Prepend/append register [/] to the paste if ^a^] is pressed.
|
||||||
|
# This lets me have autoindent mode in vi.
|
||||||
|
-register [ "\033:se noai\015a"
|
||||||
|
-register ] "\033:se ai\015a"
|
||||||
|
-bind ^] paste [.]
|
||||||
|
+#register [ "\033:se noai\015a"
|
||||||
|
+#register ] "\033:se ai\015a"
|
||||||
|
+#bind ^] paste [.]
|
||||||
|
|
||||||
|
################
|
||||||
|
#
|
||||||
|
@@ -140,9 +104,14 @@ bind ^] paste [.]
|
||||||
|
# screen -t 40 2 rlogin server
|
||||||
|
|
||||||
|
# caption always "%3n %t%? @%u%?%? [%h]%?%=%c"
|
||||||
|
+## alternative caption, gives window list, LOGNAME and current date:
|
||||||
|
+# caption always "%{wk}%?%-Lw%?%{bw}%n*%f %t%?(%u)%?%{wk}%?%+Lw %=%{mk}@%H %{yk}%D %{ck}%M%{wk} %{ck}%d %{gk}%c"
|
||||||
|
# hardstatus alwaysignore
|
||||||
|
# hardstatus alwayslastline "%Lw"
|
||||||
|
|
||||||
|
+# Red Hat's normal status line
|
||||||
|
+hardstatus string "[screen %n%?: %t%?] %h"
|
||||||
|
+
|
||||||
|
# bind = resize =
|
||||||
|
# bind + resize +1
|
||||||
|
# bind - resize -1
|
||||||
13
screen-4.3.1-suppress_remap.patch
Normal file
13
screen-4.3.1-suppress_remap.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
Author: Loic Minier <lool@dooz.org>
|
||||||
|
Description: Unbreak several useful keybindings.
|
||||||
|
--- a/termcap.c
|
||||||
|
+++ b/termcap.c
|
||||||
|
@@ -552,8 +552,6 @@
|
||||||
|
else
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
- if (n < KMAP_KEYS)
|
||||||
|
- domap = 1;
|
||||||
|
if (map == 0 && domap)
|
||||||
|
return 0;
|
||||||
|
if (map && !domap)
|
||||||
51
screen-E3.patch
Normal file
51
screen-E3.patch
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
diff --git a/display.c b/display.c
|
||||||
|
index b11b18b..180f19c 100644
|
||||||
|
--- a/display.c
|
||||||
|
+++ b/display.c
|
||||||
|
@@ -3818,4 +3818,10 @@ char **cmdv;
|
||||||
|
|
||||||
|
#endif /* BLANKER_PRG */
|
||||||
|
|
||||||
|
+void
|
||||||
|
+ClearScrollbackBuffer()
|
||||||
|
+{
|
||||||
|
+ if (D_CE3)
|
||||||
|
+ AddCStr(D_CE3);
|
||||||
|
+}
|
||||||
|
|
||||||
|
diff --git a/extern.h b/extern.h
|
||||||
|
index 7966008..e1ec242 100644
|
||||||
|
--- a/extern.h
|
||||||
|
+++ b/extern.h
|
||||||
|
@@ -316,6 +316,7 @@ extern int color256to88 __P((int));
|
||||||
|
extern void ResetIdle __P((void));
|
||||||
|
extern void KillBlanker __P((void));
|
||||||
|
extern void DisplaySleep1000 __P((int, int));
|
||||||
|
+extern void ClearScrollbackBuffer __P((void));
|
||||||
|
|
||||||
|
/* resize.c */
|
||||||
|
extern int ChangeWindowSize __P((struct win *, int, int, int));
|
||||||
|
diff --git a/screen.c b/screen.c
|
||||||
|
index 64650e9..c68d949 100644
|
||||||
|
--- a/screen.c
|
||||||
|
+++ b/screen.c
|
||||||
|
@@ -1958,6 +1958,7 @@ void Detach(int mode)
|
||||||
|
|
||||||
|
case D_LOCK:
|
||||||
|
ClearAll();
|
||||||
|
+ ClearScrollbackBuffer();
|
||||||
|
sign = SIG_LOCK;
|
||||||
|
/* tell attacher to lock terminal with a lockprg. */
|
||||||
|
break;
|
||||||
|
diff --git a/term.c b/term.c
|
||||||
|
index c92d85a..a6e9200 100644
|
||||||
|
--- a/term.c
|
||||||
|
+++ b/term.c
|
||||||
|
@@ -83,6 +83,7 @@ struct term term[T_N] =
|
||||||
|
{ "CD", T_STR },
|
||||||
|
{ "ce", T_STR },
|
||||||
|
{ "cb", T_STR },
|
||||||
|
+ { "E3", T_STR },
|
||||||
|
|
||||||
|
/* initialise */
|
||||||
|
{ "is", T_STR },
|
||||||
15
screen.spec
15
screen.spec
@ -1,13 +1,18 @@
|
|||||||
Name: screen
|
Name: screen
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
Version: 4.6.2
|
Version: 4.6.2
|
||||||
Release: 5
|
Release: 6
|
||||||
Summary: A full-screen window manager
|
Summary: A full-screen window manager
|
||||||
License: GPLv3+
|
License: GPLv3+
|
||||||
URL: http://www.gnu.org/software/screen
|
URL: http://www.gnu.org/software/screen
|
||||||
Source0: http://ftp.gnu.org/gnu/screen/screen-%{version}.tar.gz
|
Source0: http://ftp.gnu.org/gnu/screen/screen-%{version}.tar.gz
|
||||||
Source1: screen.pam
|
Source1: screen.pam
|
||||||
|
|
||||||
|
Patch0: screen-4.3.1-screenrc.patch
|
||||||
|
Patch1: screen-E3.patch
|
||||||
|
Patch2: screen-4.3.1-suppress_remap.patch
|
||||||
|
Patch3: screen-4.3.1-crypt.patch
|
||||||
|
|
||||||
BuildRequires: automake autoconf gcc ncurses-devel texinfo
|
BuildRequires: automake autoconf gcc ncurses-devel texinfo
|
||||||
Requires: shadow-utils
|
Requires: shadow-utils
|
||||||
Requires(preun): info
|
Requires(preun): info
|
||||||
@ -26,7 +31,7 @@ BuildArch: noarch
|
|||||||
%{summary}.
|
%{summary}.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -n %{name}-%{version}
|
%autosetup -n %{name}-%{version} -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
autoreconf -fiv
|
autoreconf -fiv
|
||||||
@ -92,6 +97,12 @@ fi
|
|||||||
%{_infodir}/screen.info*
|
%{_infodir}/screen.info*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Mar 18 2020 openEuler Buildteam <buildteam@openeuler.org> - 1:4.6.2-6
|
||||||
|
- Type:bugfix
|
||||||
|
- ID:NA
|
||||||
|
- SUG:NA
|
||||||
|
- DESC:fix Null pointer reference
|
||||||
|
|
||||||
* Sat Dec 21 2019 openEuler Buildteam <buildteam@openeuler.org> - 1:4.6.2-5
|
* Sat Dec 21 2019 openEuler Buildteam <buildteam@openeuler.org> - 1:4.6.2-5
|
||||||
- Type:enhancement
|
- Type:enhancement
|
||||||
- ID:NA
|
- ID:NA
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user