Este contenido no está disponible en el idioma seleccionado.
2.16. RHBA-2011:1072: new package: tcsh617
A new tcsh617 package, a replacement for the tcsh package that, among other fixes and enhancements, addresses various bugs of the tcsh package, is now available for Red Hat Enterprise Linux 5.
Important
This update was released as errata RHBA-2011:1072 – new package: tcsh617.
Tcsh is a command language interpreter compatible with the C shell (csh), which can be used as an interactive login shell, as well as a shell script command processor.
This new tcsh617 package serves as a replacement for the tcsh package, and upgrades
tcsh to upstream version 6.17, which incorporates a number of bug fixes and enhancements over the previous version (6.14), which was released as a part of Red Hat Enterprise Linux 5.5. The tcsh package has been retained for compatibility with the older version of tcsh.
The tcsh and tcsh617 packages are mutually-exclusive: both packages cannot be installed simultaneously. Users of
tcsh who require the bug fixes and enhancements included in this upgraded package are advised to first uninstall the tcsh package and then install this new tcsh617 package. (BZ#676136)
Bug Fixes:
- BZ#676136
- The
tcshshell used to callmalloc()-related functions inside signal handlers. This could causetcshto become unresponsive due to calling just-interrupted internalglibclocking algorithms again. Operations related tomalloc()were moved from signal handlers to common routines. - BZ#433908
- Previously, the
tcsh(1)man page stated that the shell would not run a set-user ID script without an-bargument. This statement was removed from the man page because it is forbidden to run set-user ID scripts in Red Hat Enterprise Linux 5. - BZ#436439
- Prior to this update, the
tcsh(1)man page inaccurately stated that it is mandatory to use thegroupoption when using thenewgrpbuilt-in command. The corrected statement now says that usinggroupis optional. - BZ#436901
- Previously, the
tcshshell allowed to name variables in incorrect formats, such as by beginning a variable name with a digit. This issue has been fixed: variable names are now verified according to Unix variable-naming conventions. - BZ#437079, BZ#437080
- The
tcsh(1)man page inaccurately stated that thehupandnohupbuilt-in commands, when used without an argument, can be used only within a shell script. The man page has been corrected: it now states that thehupandnohupbuilt-in commands can be used when running the shell non-interactively. - BZ#618723
- When
tcshdid not exit properly, it could have entered an infinite loop, using 100% of the CPU, and become unresponsive. This was caused by a function interrupting the exit routine and then re-entering the code and thus causing it to loop infinitely. - BZ#638955
- This package fixes the return value of the
status(or$?) variable in the case of pipelines and backquoted commands. Theanyerrorvariable, which selects behavior, has been added to retain the backward compatibility. - BZ#650363
- When
tcshevaluated a backquoted command (using command substitution) which itself contained backquotes, it could have dumped core due to a buffer overflow. With this update, nested command substitutions are now handled correctly, andtcshno longer dumps core in this situation. - BZ#676305
- Previously, when the
LANGenvironment variable was set toC, thetcshshell could ignore several characters that were following a wide (greater than 8 bits) character while receiving user's input. This package fixes the issue andtcshno longer ignores any characters. - BZ#688170
- Previously, when a command was substituted using backquotes, a second, redundant
fork()system call was performed. This could have caused problems when a child process needed to find the PID of itstcshparent. With this new package, only onefork()is performed. - BZ#688173
- Previously, running
tcshin verbose mode caused the shell to append history to its output on exit. This new package fixes the issue andtcshnow works as expected. - BZ#688175
- On a local machine,
tcshset theREMOTEHOSTenvironment variable to an empty string, even though this variable should only have been set on a remote machine. This error has been fixed andREMOTEHOSTis no longer set on a local machine. - BZ#689381
- Previously, if the
printexitvaluevariable was set,tcshreturned the exit code number as a part of the command output, rendering the output unusable. This has happened due to a missing job status flag. The proper flag has been set and the command output is now correct. - BZ#689382
- Previously, under certain circumstances, a null pointer may have been incorrectly dereferenced, causing the
tcshshell to terminate unexpectedly. With this update, the pointer is now tested for theNULLvalue before it is dereferenced, andtcshno longer crashes in this circumstance. - BZ#690500
- The
tcshshell entered an infinitive loop when standard output was redirected to a child process by a pipe. When the child process was terminated,tcshtried to print a message to the already-closed pipe as a high-priority event that could never finish. This has been fixed so in case that such child process terminates, the relevant error event is removed from the event queue before it could have been written to the broken pipe, and the parent process is terminated as well.
All users of the tcsh package who want to upgrade their version of tcsh to 6.17 are advised to uninstall the tcsh package and then install this upgraded tcsh617 package, which provides these bug fixes and enhancements.