- Issued:
- 2011-05-19
- Updated:
- 2011-05-19
RHBA-2011:0645 - Bug Fix Advisory
Synopsis
ksh bug fix and enhancement update
Type/Severity
Bug Fix Advisory
Red Hat Insights patch analysis
Identify and remediate systems affected by this advisory.
Topic
An updated ksh package that fixes several bugs and adds various enhancements is
now available.
Description
KSH-93 is the most recent version of the KornShell by David Korn of AT&T Bell Laboratories -- a shell programming language upwards-compatible with "sh" (the Bourne Shell).
This updated ksh package provides fixes for the following bugs:
- When a ksh script contained the "trap" command to capture a "SIGPIPE" signal, sending this signal via the built-in "echo" command could cause its output to be incorrectly added to the redirected output of an external command. With this update, ksh now flushes the output buffer before redirecting any output streams. (BZ#616684)
- Due to incorrect signal handling, receiving a signal while still processing the same one caused ksh to terminate unexpectedly with a segmentation fault. With this update, the subsequent signals are deferred until the current one is processed; thus, ksh no longer crashes. (BZ#616691)
- The previous version of the ksh man page contained an unavailable "-m" option and an insufficient description of the "-R" option. In this updated version of the man page, the section mentioning the unavailable option is removed and the description of the "-R" option is extended. (BZ#619692)
- Assigning a value to an array variable during the execution of the "typeset" command could cause ksh to terminate unexpectedly with a segmentation fault. This update corrects the array handling in this command and ksh no longer crashes. (BZ#637052)
- Prior to this update, ksh did not close a file containing an auto-loaded function definition. After loading several functions, ksh could have easily exceeded the system's limit on the number of open files. With this update, files containing auto-loaded functions are properly closed, thus, the number of opened files no longer increases with usage. (BZ#643811)
- If a here document (heredoc — specifies a string literal in command line shells) was combined with an auto-loaded function, interference with the here document processing could occur causing output to be truncated to 8 kB. This update improves the here document processing logic and auto-loaded functions no longer have a negative side effect on here documents. (BZ#644362)
- Previously, ksh did not restore file handles after executing a sourced script. If an output stream or an error stream was redirected in the sourced script, the respective stream remained redirected in the parent script as well. With this update, file handles are restored after execution of sourced scripts so a parent script is not affected by sourced script redirections. (BZ#651888)
- When a ksh script created a file and immediately opened it after the creation, the operation failed. This happened because the created file, in some cases, did not exist yet. With this update, this race condition has been fixed and once a file is created, it is immediately available for any following commands. (BZ#660319)
- Previously, a ( ) compound list did not always use a copy of the environment which caused the original environment to be altered. Scripts could behave unexpectedly because their variables could be changed. With this update, a copy of the environment is always used for a ( ) compound list; thus, the original environment is not affected by commands from the ( ) compound list. (BZ#681478)
In addition, this updated package provides the following enhancements:
- The ksh built-in "ulimit" command now provides the ability to read and set the "RLIMIT_RTPRIO" and "RLIMIT_NICE" resource limiters. (BZ#582690)
- The ksh package now includes an "alternatives" command which allows ksh to be switched with mksh (MirBSD Korn Shell). This enhancement allows users to switch between the ksh-93 and ksh-88 (provided by mksh) shells and to port ksh-88 scripts to ksh-93. (BZ#659658)
Users are advised to upgrade to this updated ksh package, which resolves these issues and adds these enhancements.
Solution
Before applying this update, make sure that all previously-released errata
relevant to your system have been applied.
This update is available via Red Hat Network. Details on how to use the Red Hat
Network to apply this update are available at
https://access.redhat.com/kb/docs/DOC-11259
Affected Products
- Red Hat Enterprise Linux Server 6 x86_64
- Red Hat Enterprise Linux Server 6 i386
- Red Hat Enterprise Linux Server - Extended Life Cycle Support 6 x86_64
- Red Hat Enterprise Linux Server - Extended Life Cycle Support 6 i386
- Red Hat Enterprise Linux Workstation 6 x86_64
- Red Hat Enterprise Linux Workstation 6 i386
- Red Hat Enterprise Linux Desktop 6 x86_64
- Red Hat Enterprise Linux Desktop 6 i386
- Red Hat Enterprise Linux for IBM z Systems 6 s390x
- Red Hat Enterprise Linux for Power, big endian 6 ppc64
- Red Hat Enterprise Linux for Scientific Computing 6 x86_64
- Red Hat Enterprise Linux Server from RHUI 6 x86_64
- Red Hat Enterprise Linux Server from RHUI 6 i386
- Red Hat Enterprise Linux Server - Extended Life Cycle Support (for IBM z Systems) 6 s390x
- Red Hat Enterprise Linux Server - Retired Extended Life Cycle Support 6 x86_64
Fixes
- BZ - 616684 - wrong redirections with SIGPIPE traps
- BZ - 619692 - The ksh's man-page describes an obsolete option m and doesn't describe option -R enough.
- BZ - 637052 - ksh crashes
- BZ - 643811 - ksh doesn't close the file including the function definition
- BZ - 644362 - problem with here-doc in function called from here-doc
- BZ - 651888 - The dot command may misdirect output
- BZ - 660319 - In ksh scripts, files may be created but then fail to be immediately opened.
- BZ - 681478 - ( ) compound list is altering environment
CVEs
(none)
References
(none)
Red Hat Enterprise Linux Server 6
SRPM | |
---|---|
ksh-20100621-6.el6.src.rpm | SHA-256: 0696fcabfcf87b93ac9eb91f7c102f381ba7485d2946cde1e26f29332d009f61 |
x86_64 | |
ksh-20100621-6.el6.x86_64.rpm | SHA-256: 87d4e6dfab2be6949e0b6428b0487b3713a8136e7bef193c2439745675507497 |
ksh-debuginfo-20100621-6.el6.x86_64.rpm | SHA-256: 1ade07a5b0dc170cda06f24939da2f48ad0df6038aea49b524f07ee04329fddd |
i386 | |
ksh-20100621-6.el6.i686.rpm | SHA-256: 06f6e86d241dd5d3ac7e5a58854275b0ba29763c8395aee23f7188d221dc25e8 |
ksh-debuginfo-20100621-6.el6.i686.rpm | SHA-256: 98a4bfa7d84c9e6702a34a3c9b2436f5731ac4a79a55a1e84acee58c66a7a27b |
Red Hat Enterprise Linux Server - Extended Life Cycle Support 6
SRPM | |
---|---|
ksh-20100621-6.el6.src.rpm | SHA-256: 0696fcabfcf87b93ac9eb91f7c102f381ba7485d2946cde1e26f29332d009f61 |
x86_64 | |
ksh-20100621-6.el6.x86_64.rpm | SHA-256: 87d4e6dfab2be6949e0b6428b0487b3713a8136e7bef193c2439745675507497 |
ksh-debuginfo-20100621-6.el6.x86_64.rpm | SHA-256: 1ade07a5b0dc170cda06f24939da2f48ad0df6038aea49b524f07ee04329fddd |
i386 | |
ksh-20100621-6.el6.i686.rpm | SHA-256: 06f6e86d241dd5d3ac7e5a58854275b0ba29763c8395aee23f7188d221dc25e8 |
ksh-debuginfo-20100621-6.el6.i686.rpm | SHA-256: 98a4bfa7d84c9e6702a34a3c9b2436f5731ac4a79a55a1e84acee58c66a7a27b |
Red Hat Enterprise Linux Workstation 6
SRPM | |
---|---|
ksh-20100621-6.el6.src.rpm | SHA-256: 0696fcabfcf87b93ac9eb91f7c102f381ba7485d2946cde1e26f29332d009f61 |
x86_64 | |
ksh-20100621-6.el6.x86_64.rpm | SHA-256: 87d4e6dfab2be6949e0b6428b0487b3713a8136e7bef193c2439745675507497 |
ksh-debuginfo-20100621-6.el6.x86_64.rpm | SHA-256: 1ade07a5b0dc170cda06f24939da2f48ad0df6038aea49b524f07ee04329fddd |
i386 | |
ksh-20100621-6.el6.i686.rpm | SHA-256: 06f6e86d241dd5d3ac7e5a58854275b0ba29763c8395aee23f7188d221dc25e8 |
ksh-debuginfo-20100621-6.el6.i686.rpm | SHA-256: 98a4bfa7d84c9e6702a34a3c9b2436f5731ac4a79a55a1e84acee58c66a7a27b |
Red Hat Enterprise Linux Desktop 6
SRPM | |
---|---|
ksh-20100621-6.el6.src.rpm | SHA-256: 0696fcabfcf87b93ac9eb91f7c102f381ba7485d2946cde1e26f29332d009f61 |
x86_64 | |
ksh-20100621-6.el6.x86_64.rpm | SHA-256: 87d4e6dfab2be6949e0b6428b0487b3713a8136e7bef193c2439745675507497 |
ksh-debuginfo-20100621-6.el6.x86_64.rpm | SHA-256: 1ade07a5b0dc170cda06f24939da2f48ad0df6038aea49b524f07ee04329fddd |
i386 | |
ksh-20100621-6.el6.i686.rpm | SHA-256: 06f6e86d241dd5d3ac7e5a58854275b0ba29763c8395aee23f7188d221dc25e8 |
ksh-debuginfo-20100621-6.el6.i686.rpm | SHA-256: 98a4bfa7d84c9e6702a34a3c9b2436f5731ac4a79a55a1e84acee58c66a7a27b |
Red Hat Enterprise Linux for IBM z Systems 6
SRPM | |
---|---|
ksh-20100621-6.el6.src.rpm | SHA-256: 0696fcabfcf87b93ac9eb91f7c102f381ba7485d2946cde1e26f29332d009f61 |
s390x | |
ksh-20100621-6.el6.s390x.rpm | SHA-256: b3cd9662cab1b6cf6726d2b28452f46b40a44d15388fda4073905e6bcfded87b |
ksh-debuginfo-20100621-6.el6.s390x.rpm | SHA-256: 3f222ee7e2a2ca9dd0158b98a08d033fd76dd1bc5455bafb7c7103db2b98ea7e |
Red Hat Enterprise Linux for Power, big endian 6
SRPM | |
---|---|
ksh-20100621-6.el6.src.rpm | SHA-256: 0696fcabfcf87b93ac9eb91f7c102f381ba7485d2946cde1e26f29332d009f61 |
ppc64 | |
ksh-20100621-6.el6.ppc64.rpm | SHA-256: 8cc5e59ed7f266c161b6d2cd9ba45fe003208984ab32d5fb383da067e2cc6b8d |
ksh-debuginfo-20100621-6.el6.ppc64.rpm | SHA-256: 7680452f79d8fcbc2a92dbedbd516b0ab6d212d18ae7359b76c7b164506b8a48 |
Red Hat Enterprise Linux for Scientific Computing 6
SRPM | |
---|---|
ksh-20100621-6.el6.src.rpm | SHA-256: 0696fcabfcf87b93ac9eb91f7c102f381ba7485d2946cde1e26f29332d009f61 |
x86_64 | |
ksh-20100621-6.el6.x86_64.rpm | SHA-256: 87d4e6dfab2be6949e0b6428b0487b3713a8136e7bef193c2439745675507497 |
ksh-debuginfo-20100621-6.el6.x86_64.rpm | SHA-256: 1ade07a5b0dc170cda06f24939da2f48ad0df6038aea49b524f07ee04329fddd |
Red Hat Enterprise Linux Server from RHUI 6
SRPM | |
---|---|
ksh-20100621-6.el6.src.rpm | SHA-256: 0696fcabfcf87b93ac9eb91f7c102f381ba7485d2946cde1e26f29332d009f61 |
x86_64 | |
ksh-20100621-6.el6.x86_64.rpm | SHA-256: 87d4e6dfab2be6949e0b6428b0487b3713a8136e7bef193c2439745675507497 |
ksh-debuginfo-20100621-6.el6.x86_64.rpm | SHA-256: 1ade07a5b0dc170cda06f24939da2f48ad0df6038aea49b524f07ee04329fddd |
i386 | |
ksh-20100621-6.el6.i686.rpm | SHA-256: 06f6e86d241dd5d3ac7e5a58854275b0ba29763c8395aee23f7188d221dc25e8 |
ksh-debuginfo-20100621-6.el6.i686.rpm | SHA-256: 98a4bfa7d84c9e6702a34a3c9b2436f5731ac4a79a55a1e84acee58c66a7a27b |
Red Hat Enterprise Linux Server - Extended Life Cycle Support (for IBM z Systems) 6
SRPM | |
---|---|
ksh-20100621-6.el6.src.rpm | SHA-256: 0696fcabfcf87b93ac9eb91f7c102f381ba7485d2946cde1e26f29332d009f61 |
s390x | |
ksh-20100621-6.el6.s390x.rpm | SHA-256: b3cd9662cab1b6cf6726d2b28452f46b40a44d15388fda4073905e6bcfded87b |
ksh-debuginfo-20100621-6.el6.s390x.rpm | SHA-256: 3f222ee7e2a2ca9dd0158b98a08d033fd76dd1bc5455bafb7c7103db2b98ea7e |
Red Hat Enterprise Linux Server - Retired Extended Life Cycle Support 6
SRPM | |
---|---|
ksh-20100621-6.el6.src.rpm | SHA-256: 0696fcabfcf87b93ac9eb91f7c102f381ba7485d2946cde1e26f29332d009f61 |
x86_64 | |
ksh-20100621-6.el6.x86_64.rpm | SHA-256: 87d4e6dfab2be6949e0b6428b0487b3713a8136e7bef193c2439745675507497 |
ksh-debuginfo-20100621-6.el6.x86_64.rpm | SHA-256: 1ade07a5b0dc170cda06f24939da2f48ad0df6038aea49b524f07ee04329fddd |
The Red Hat security contact is secalert@redhat.com. More contact details at https://access.redhat.com/security/team/contact/.