Skip to navigation

Bug Fix Advisory ksh bug fix update

Advisory: RHBA-2011:1647-2
Type: Bug Fix Advisory
Severity: N/A
Issued on: 2011-12-06
Last updated on: 2011-12-06
Affected Products: Red Hat Enterprise Linux Desktop (v. 6)
Red Hat Enterprise Linux HPC Node (v. 6)
Red Hat Enterprise Linux Server (v. 6)
Red Hat Enterprise Linux Workstation (v. 6)

Details

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

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
https://access.redhat.com/kb/docs/DOC-11259

Updated packages

Red Hat Enterprise Linux Desktop (v. 6)

SRPMS:
ksh-20100621-12.el6.src.rpm
File outdated by:  RHBA-2014:0281
    MD5: e02e5f9df949f09839197d34634dd40e
SHA-256: 460973d5d68a45dabc18960d6a0e5988707db409c69d1ceebd2826bd6f173e30
 
IA-32:
ksh-20100621-12.el6.i686.rpm
File outdated by:  RHBA-2014:0281
    MD5: c8584ce30cea5a6c24f6bd65ba7dc5f2
SHA-256: d9446c2bba6357c6a9b9f777aec55f7ce2679a7a027434ed510154a5e59a346e
ksh-debuginfo-20100621-12.el6.i686.rpm
File outdated by:  RHBA-2014:0281
    MD5: e5fad24fdae6d8fc549adeddb134752d
SHA-256: f114780245ef149e23c17322988fe6c8ec526e5863b8fd37133e695f61a9d0f2
 
x86_64:
ksh-20100621-12.el6.x86_64.rpm
File outdated by:  RHBA-2014:0281
    MD5: b9c8c1ea9f63a24b7c126b2265745123
SHA-256: 2a47dc3e2a8aa79fcc76d474038788678ea26411bbb6923d78c4f50626e45945
ksh-debuginfo-20100621-12.el6.x86_64.rpm
File outdated by:  RHBA-2014:0281
    MD5: f75164052a64bdc7ccbefcfbc7f2bfc8
SHA-256: 7c2fa1c38386be3cf44638ae3620ed425038d27f0865e0932adced920e3be899
 
Red Hat Enterprise Linux HPC Node (v. 6)

SRPMS:
ksh-20100621-12.el6.src.rpm
File outdated by:  RHBA-2014:0281
    MD5: e02e5f9df949f09839197d34634dd40e
SHA-256: 460973d5d68a45dabc18960d6a0e5988707db409c69d1ceebd2826bd6f173e30
 
x86_64:
ksh-20100621-12.el6.x86_64.rpm
File outdated by:  RHBA-2014:0281
    MD5: b9c8c1ea9f63a24b7c126b2265745123
SHA-256: 2a47dc3e2a8aa79fcc76d474038788678ea26411bbb6923d78c4f50626e45945
ksh-debuginfo-20100621-12.el6.x86_64.rpm
File outdated by:  RHBA-2014:0281
    MD5: f75164052a64bdc7ccbefcfbc7f2bfc8
SHA-256: 7c2fa1c38386be3cf44638ae3620ed425038d27f0865e0932adced920e3be899
 
Red Hat Enterprise Linux Server (v. 6)

SRPMS:
ksh-20100621-12.el6.src.rpm
File outdated by:  RHBA-2014:0281
    MD5: e02e5f9df949f09839197d34634dd40e
SHA-256: 460973d5d68a45dabc18960d6a0e5988707db409c69d1ceebd2826bd6f173e30
 
IA-32:
ksh-20100621-12.el6.i686.rpm
File outdated by:  RHBA-2014:0281
    MD5: c8584ce30cea5a6c24f6bd65ba7dc5f2
SHA-256: d9446c2bba6357c6a9b9f777aec55f7ce2679a7a027434ed510154a5e59a346e
ksh-debuginfo-20100621-12.el6.i686.rpm
File outdated by:  RHBA-2014:0281
    MD5: e5fad24fdae6d8fc549adeddb134752d
SHA-256: f114780245ef149e23c17322988fe6c8ec526e5863b8fd37133e695f61a9d0f2
 
PPC:
ksh-20100621-12.el6.ppc64.rpm
File outdated by:  RHBA-2014:0281
    MD5: 238fa2e8b01ccbbd26ab7a8fc719726f
SHA-256: 42928fef903588b909d0c50162ef454521194e6f0bc8f8ebe13cd52bc45234e7
ksh-debuginfo-20100621-12.el6.ppc64.rpm
File outdated by:  RHBA-2014:0281
    MD5: 1d8f3fee0cb9984f0cbc6402ac15bfe8
SHA-256: 9668d29930e614856122fa8378bfafbbd42db1d62da41e42a096ba38325fdb57
 
s390x:
ksh-20100621-12.el6.s390x.rpm
File outdated by:  RHBA-2014:0281
    MD5: 18087bd3829b1ab8b3804f5a2ba94168
SHA-256: 972e83aac01688875b31bc356d1cb6ee1819dda2a7a187a81cf6144218ba926b
ksh-debuginfo-20100621-12.el6.s390x.rpm
File outdated by:  RHBA-2014:0281
    MD5: 57ac0ad8a9ef7051cec5c8ee9a5d1c5e
SHA-256: ffda4b3e8e2b50b24f2d2a77a81763adfef1a53b5a38ab03fa30a5bae16d403c
 
x86_64:
ksh-20100621-12.el6.x86_64.rpm
File outdated by:  RHBA-2014:0281
    MD5: b9c8c1ea9f63a24b7c126b2265745123
SHA-256: 2a47dc3e2a8aa79fcc76d474038788678ea26411bbb6923d78c4f50626e45945
ksh-debuginfo-20100621-12.el6.x86_64.rpm
File outdated by:  RHBA-2014:0281
    MD5: f75164052a64bdc7ccbefcfbc7f2bfc8
SHA-256: 7c2fa1c38386be3cf44638ae3620ed425038d27f0865e0932adced920e3be899
 
Red Hat Enterprise Linux Workstation (v. 6)

SRPMS:
ksh-20100621-12.el6.src.rpm
File outdated by:  RHBA-2014:0281
    MD5: e02e5f9df949f09839197d34634dd40e
SHA-256: 460973d5d68a45dabc18960d6a0e5988707db409c69d1ceebd2826bd6f173e30
 
IA-32:
ksh-20100621-12.el6.i686.rpm
File outdated by:  RHBA-2014:0281
    MD5: c8584ce30cea5a6c24f6bd65ba7dc5f2
SHA-256: d9446c2bba6357c6a9b9f777aec55f7ce2679a7a027434ed510154a5e59a346e
ksh-debuginfo-20100621-12.el6.i686.rpm
File outdated by:  RHBA-2014:0281
    MD5: e5fad24fdae6d8fc549adeddb134752d
SHA-256: f114780245ef149e23c17322988fe6c8ec526e5863b8fd37133e695f61a9d0f2
 
x86_64:
ksh-20100621-12.el6.x86_64.rpm
File outdated by:  RHBA-2014:0281
    MD5: b9c8c1ea9f63a24b7c126b2265745123
SHA-256: 2a47dc3e2a8aa79fcc76d474038788678ea26411bbb6923d78c4f50626e45945
ksh-debuginfo-20100621-12.el6.x86_64.rpm
File outdated by:  RHBA-2014:0281
    MD5: f75164052a64bdc7ccbefcfbc7f2bfc8
SHA-256: 7c2fa1c38386be3cf44638ae3620ed425038d27f0865e0932adced920e3be899
 
(The unlinked packages above are only available from the Red Hat Network)

Bugs fixed (see bugzilla for more information)

683734 - ksh crashes when IFS is unset inside a function
701890 - misprocessing of invalid PID argument for ksh built-in kill
702008 - KSH default path missing 'cwd' /bin:/usr/bin missing colon at the end
702015 - completion after an environment variable results in a "bad substitution" error
702016 - pipefail option causes intermittent failure of 'ls|! grep'
728900 - wait fails on pid of co-process
742244 - ksh script never comes back


Keywords

ksh


These packages are GPG signed by Red Hat for security. Our key and details on how to verify the signature are available from:
https://www.redhat.com/security/team/key/#package

The Red Hat security contact is secalert@redhat.com. More contact details at http://www.redhat.com/security/team/contact/