Issued:
2011-12-06
Updated:
2011-12-06

RHBA-2011:1647 - ksh bug fix update


Synopsis

ksh bug fix update

Type/Severity

Bug Fix Advisory (none)

Topic

An updated ksh package that fixes various bugs is now available for Red Hat Enterprise Linux 6.

Description

KSH-93 is the most recent version of the KornShell by David Korn of AT&T Bell Laboratories. KornShell is a shell programming language which is also compatible with sh, the original Bourne Shell.

This updated ksh package includes fixes for the following bugs:

  • Previously, ksh did not always wait for a pipeline to complete when the pipefail option was used. Consequently, a failed exit status was erroneously reported even when the pipeline had not failed. With this update, the code has been improved and the pipefail option now functions as expected. (BZ#702016)

  • File name completion used after an environment variable failed and ksh reported a "bad substitution" error. With this update, an upstream patch has been applied which fixes the problem. (BZ#702015).

  • When running a ksh script the exit code of a child process was not preserved. Consequently, when a script asked for such an exit code, the wrong value was reported. With this update, an upstream patch has been applied which fixes the problem. (BZ#702013, BZ#728900)

  • In POSIX functions, a function defined without using the, "function", keyword, the value of the variable "$0" was changed to the name of the function instead of keeping the original value, the name of the caller function. With this update an upstream patch has been applied to correct the code and ksh keeps the name of the caller function in "$0" as expected. (BZ#702011)

  • Previously, when the ksh built-in "kill" command was called with a very large, non-existent PID value, it was interpreted as " -1". The "-1" argument to the kill command is for terminating all processes. Consequently, all processes owned by the user were killed. With this update a patch has been applied and ksh now checks for a valid process ID. (BZ#701890)

  • If the IFS variable was unset inside a function used in a script, the memory being used was erroneously freed. Consequently, ksh would terminate unexpectedly. With this update, an upstream patch has been applied which still allows the IFS variable to be unset, but no longer frees the memory. Thus the problem is fixed, and ksh no longer crashes in the scenario described. (BZ##683734)

  • Previously, ksh treated an array declaration as a definition. Consequently, the array contained one element after the declaration. This bug has been fixed, and now an array is correctly reported as empty after a declaration. (BZ#702014)

  • Previously, when using ksh, ksh became unresponsive when pipes were used in a "eval" argument. With this update an upstream patch has been applied and the ksh no longer hangs in the scenario described. (BZ#742244)

  • ksh could return the exit code of the previous process to have used the same PID number, when PID numbers were being reused after many hundreds of iterations of a script. With this update the code has been fixed and the error no longer occurs in the scenario described. (#743842)

All users of ksh are advised to upgrade to this updated package, which fixes these bugs.

Solution

Before applying this update, make sure all previously-released errata relevant to your system have been applied.

This update is available via the Red Hat Network. Details on how to use the Red Hat Network to apply this update are available at This content is not included.https://access.redhat.com/kb/docs/DOC-11259

Affected Products

ProductVersionArch
Red Hat Enterprise Linux for Scientific Computing6x86_64
Red Hat Enterprise Linux for Power, big endian6ppc64
Red Hat Enterprise Linux for IBM z Systems6s390x
Red Hat Enterprise Linux Workstation6x86_64
Red Hat Enterprise Linux Workstation6i386
Red Hat Enterprise Linux Server6x86_64
Red Hat Enterprise Linux Server6i386
Red Hat Enterprise Linux Server from RHUI6x86_64
Red Hat Enterprise Linux Server from RHUI6i386
Red Hat Enterprise Linux Server - Extended Life Cycle Support6x86_64
Red Hat Enterprise Linux Server - Extended Life Cycle Support6i386
Red Hat Enterprise Linux Server - Extended Life Cycle Support Extension6x86_64
Red Hat Enterprise Linux Server - Extended Life Cycle Support Extension6i386
Red Hat Enterprise Linux Server - Extended Life Cycle Support Extension (for IBM z Systems)6s390x
Red Hat Enterprise Linux Server - Extended Life Cycle Support (for IBM z Systems)6s390x
Red Hat Enterprise Linux Desktop6x86_64
Red Hat Enterprise Linux Desktop6i386

Updated Packages

  • ksh-20100621-12.el6.i686.rpm
  • ksh-debuginfo-20100621-12.el6.x86_64.rpm
  • ksh-debuginfo-20100621-12.el6.ppc64.rpm
  • ksh-debuginfo-20100621-12.el6.i686.rpm
  • ksh-20100621-12.el6.src.rpm
  • ksh-20100621-12.el6.x86_64.rpm
  • ksh-debuginfo-20100621-12.el6.s390x.rpm
  • ksh-20100621-12.el6.s390x.rpm
  • ksh-20100621-12.el6.ppc64.rpm

Fixes

CVEs

(none)

References

(none)


Additional information