Remove fork when tcsh processes backquotes

This commit is contained in:
Vitezslav Crhonek 2010-10-06 10:30:42 +02:00
parent 94e07816c6
commit 6488642e91
2 changed files with 25 additions and 1 deletions

View File

@ -0,0 +1,18 @@
diff -up tcsh-6.17.00/sh.glob.c.orig tcsh-6.17.00/sh.glob.c
--- tcsh-6.17.00/sh.glob.c.orig 2010-10-06 10:27:21.015893878 +0200
+++ tcsh-6.17.00/sh.glob.c 2010-10-06 10:28:17.503914951 +0200
@@ -881,11 +881,13 @@ backeval(struct blk_buf *bb, struct Strb
stderror(ERR_OLD);
alias(&paraml);
t = syntax(paraml.next, &paraml, 0);
+ if (t == NULL)
+ return;
cleanup_push(t, syntax_cleanup);
/* The F_BACKQ flag must set so the job output is correct if
* printexitvalue is set. If it's not set, the job output
* will have "Exit N" appended where N is the exit status. */
- t->t_dflg = F_BACKQ;
+ t->t_dflg = F_BACKQ|F_NOFORK;
if (seterr)
stderror(ERR_OLD);
#ifdef SIGTSTP

View File

@ -3,7 +3,7 @@
Summary: An enhanced version of csh, the C shell
Name: tcsh
Version: 6.17
Release: 8%{?dist}
Release: 9%{?dist}
License: BSD
Group: System Environment/Shells
Source: ftp://ftp.astron.com/pub/tcsh/%{name}-%{version}.00.tar.gz
@ -26,6 +26,8 @@ Patch15: tcsh-6.17.00-history.patch
# Accepted by upstream:
Patch16: tcsh-6.17.00-printexitvalue.patch
Patch17: tcsh-6.17.00-testsuite.patch
# Accepted by upstream:
Patch18: tcsh-6.17.00-extrafork.patch
Provides: csh = %{version}
Requires(post): grep
Requires(postun): coreutils, grep
@ -58,6 +60,7 @@ like syntax.
%patch15 -p1 -b .history
%patch16 -p1 -b .printexitvalue
%patch17 -p1 -b .testsuite
%patch18 -p1 -b .extrafork
for i in Fixes WishList; do
iconv -f iso-8859-1 -t utf-8 "$i" > "${i}_" && \
@ -131,6 +134,9 @@ fi
%{_mandir}/man1/*.1*
%changelog
* Wed Oct 6 2010 Vitezslav Crhonek <vcrhonek@redhat.com> - 6.17-9
- Remove fork when tcsh processes backquotes
* Wed Apr 14 2010 Vitezslav Crhonek <vcrhonek@redhat.com> - 6.17-8
- Fix testsuite