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
|
||||
Epoch: 1
|
||||
Version: 4.6.2
|
||||
Release: 5
|
||||
Release: 6
|
||||
Summary: A full-screen window manager
|
||||
License: GPLv3+
|
||||
URL: http://www.gnu.org/software/screen
|
||||
Source0: http://ftp.gnu.org/gnu/screen/screen-%{version}.tar.gz
|
||||
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
|
||||
Requires: shadow-utils
|
||||
Requires(preun): info
|
||||
@ -26,7 +31,7 @@ BuildArch: noarch
|
||||
%{summary}.
|
||||
|
||||
%prep
|
||||
%autosetup -n %{name}-%{version}
|
||||
%autosetup -n %{name}-%{version} -p1
|
||||
|
||||
%build
|
||||
autoreconf -fiv
|
||||
@ -92,6 +97,12 @@ fi
|
||||
%{_infodir}/screen.info*
|
||||
|
||||
%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
|
||||
- Type:enhancement
|
||||
- ID:NA
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user