From 6d1af24faa0b0899f034020f43dd23bdc421711eaa4742dbc1967c3563ac3a0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Schr=C3=B6der?= Date: Wed, 8 Aug 2012 17:56:51 +0000 Subject: [PATCH] fix crash when doing 'screen -d -r' inside of screen OBS-URL: https://build.opensuse.org/package/show/Base:System/screen?expand=0&rev=31 --- screen.changes | 5 +++++ screen.spec | 2 ++ styroptcrash.diff | 19 +++++++++++++++++++ 3 files changed, 26 insertions(+) create mode 100644 styroptcrash.diff diff --git a/screen.changes b/screen.changes index b9c3359..b9e9227 100644 --- a/screen.changes +++ b/screen.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Aug 8 19:56:19 CEST 2012 - mls@suse.de + +- fix crash when doing 'screen -d -r' inside of screen + ------------------------------------------------------------------- Tue Aug 7 17:08:55 CEST 2012 - mls@suse.de diff --git a/screen.spec b/screen.spec index 994efa1..b5bbf46 100644 --- a/screen.spec +++ b/screen.spec @@ -41,6 +41,7 @@ Patch4: term_too_long.diff Patch5: sort_command.patch Patch6: libtinfo.diff Patch7: mappedcmd.diff +Patch8: styroptcrash.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -60,6 +61,7 @@ Documentation: man page %patch5 %patch6 %patch7 -p2 +%patch8 -p2 %build CFLAGS="-DMAXWIN=1000 $RPM_OPT_FLAGS" %configure --prefix=/usr --infodir=%{_infodir} \ diff --git a/styroptcrash.diff b/styroptcrash.diff new file mode 100644 index 0000000..6d42612 --- /dev/null +++ b/styroptcrash.diff @@ -0,0 +1,19 @@ +commit c64f800e7b197e14433ac97be12f32385a27a04f +Author: Michael Schroeder +Date: Wed Aug 8 19:54:11 2012 +0200 + + extend commit #8c1b8e45, which fixed -x but forgot about -r + +diff --git a/src/screen.c b/src/screen.c +index 949df01..6e19732 100644 +--- a/src/screen.c ++++ b/src/screen.c +@@ -988,7 +988,7 @@ char **av; + Panic(0, "$HOME too long - sorry."); + + attach_tty = ""; +- if (!detached && !lsflag && !cmdflag && !(dflag && !mflag && !rflag && !xflag) && !(!mflag && !SockMatch && sty && !xflag)) ++ if (!detached && !lsflag && !cmdflag && !(dflag && !mflag && !rflag && !xflag) && !(sty && !SockMatch && !mflag && !rflag && !xflag)) + { + #ifndef NAMEDPIPE + int fl;