- Issued:
- 2010-03-30
- Updated:
- 2010-03-30
RHBA-2010:0234 - 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 various bugs 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 upgrades ksh to the more recent 2010-02-02
upstream version (release ksh93t+) In addition, this updated ksh package
addresses the following bugs:
- running ksh scripts for a long time on an overloaded system resulted in
a race condition caused by an inner linear job list getting looped. This
resulted in ksh utlising 100 % of the cpu capacity. Some operations on the
job list were reordered to prevent this race condition occuring, allowing
ksh scripts to be run normally on the system. (BZ#435159)
- when .profile executed a return command, some new processes were
executed without working stdin, because it was already closed. This
version correctly restores the shell state after return was used in
.profile making stdin available for new processes. (BZ#506790)
- ksh returned an incorrect exit code of one when unsetting a variable
that was already unset. Ksh now returns zero exit code. (BZ#508869)
- when a parent of a background process was completed, ksh did not wait
for output of the background process. Ksh now waits for the output of
the background process so preventing the loss of data. (BZ#509326)
- when emacs editing mode was used and an alias was set, it was sometimes
evaluated too early causing a syntax error. Aliases are evaluated
later in the process now which prevents false positive syntax errors.
(BZ#513967)
- ksh indicated commands in the man page that are not available. Man page
is now amended to indicate that these commands are not available on Linux
systems. (BZ#514485)
- the ksh shell uses a special variable, "$!", which contains the process
ID (pid) of the last background job or background function. However, the
$! variable did not contain the correct pid when it was called within a
ksh function (defined with the "function" syntax). With this update,
referencing the $! special variable works as expected and the correct
process ID of the last background job or function is returned, even when
it is referenced from within a ksh script function. (BZ#520383)
- when a ksh script included multibyte characters, the ksh script parser
sometimes failed to parse the script and printed a syntax error message.
This updated package corrects this error: the ksh script parser now
correctly handles multibyte characters and no error is returned when they
are found. (BZ#538655)
- when the built-in ksh typeset function was used with the array variable,
it was affecting the size of the array by appending one empty value. This
is now corrected and typeset does not unintentionally affect size of
arrays. (BZ#538857)
- some upstream behavioural changes of ksh were not sufficiently
documented, specifically parenthesis which was supported in ksh-93r or
older. ksh Now ships Release and ChangeLog documents wherein important
changes are documented. (BZ#541654)
- when evaluating a non-number variable that contains a point in a numeric
comparison, ksh crashed with a segmentation fault. With this update, ksh
checks whether the point has numerical or parent separator meaning, and
produces only an error message when appropriate. (BZ#548519)
- when the array variable was declared using the built-in 'set', but not
defined, this declaration did not take effect. The built-in 'set' included
in the updated ksh declares array variables correctly. (BZ#553611)
All users of ksh are advised to upgrade to this updated package, which
resolves these issues.
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
http://kbase.redhat.com/faq/docs/DOC-11259
Affected Products
- Red Hat Enterprise Linux Server 5 x86_64
- Red Hat Enterprise Linux Server 5 ia64
- Red Hat Enterprise Linux Server 5 i386
- Red Hat Enterprise Linux Workstation 5 x86_64
- Red Hat Enterprise Linux Workstation 5 i386
- Red Hat Enterprise Linux for IBM z Systems 5 s390x
- Red Hat Enterprise Linux for Power, big endian 5 ppc
- Red Hat Enterprise Linux Server from RHUI 5 x86_64
- Red Hat Enterprise Linux Server from RHUI 5 i386
Fixes
- BZ - 435159 - scripts failing under ksh
- BZ - 506790 - use of builtin return in user .profile causes problems
- BZ - 508869 - ksh returns exit level 1 on when unsetting a variable that was unset
- BZ - 509326 - ksh background process can loose output produced after the foreground completed
- BZ - 513967 - Parse failure when alias nested in any construct when in emacs mode
- BZ - 514485 - manual page mentions unavailable commands
- BZ - 520383 - ksh does not return pid of forked commands correctly
- BZ - 538655 - ja_JP.UTF-8 multibyte ksh script syntax error
- BZ - 538857 - ksh, typest, extra values
- BZ - 541654 - Newer version of ksh getopts does not support parenthesis
- BZ - 548519 - Numeric evaluation of text back-tick variable results in SEGV
- BZ - 553611 - ksh93: regression with set of an one-element array
CVEs
(none)
References
(none)
Red Hat Enterprise Linux Server 5
SRPM | |
---|---|
ksh-20100202-1.el5.src.rpm | SHA-256: e5ce6b3fde35215f5ff611c5e70ae5427f9fc0ad7606c904de4e543e67c4e5b2 |
x86_64 | |
ksh-20100202-1.el5.x86_64.rpm | SHA-256: 8f5ecad430ac78d88d46348f204f2ca046b16c578170c8c695623235162fe6e0 |
ia64 | |
ksh-20100202-1.el5.ia64.rpm | SHA-256: 28eb7ff8db594a392d63d80e7d9b3663e308d2b21fe9601c8cb0c2390c66aed5 |
i386 | |
ksh-20100202-1.el5.i386.rpm | SHA-256: 41d6028ad6b499006464b75427bac259f8a680d26938f8b12da761f344481c29 |
Red Hat Enterprise Linux Workstation 5
SRPM | |
---|---|
ksh-20100202-1.el5.src.rpm | SHA-256: e5ce6b3fde35215f5ff611c5e70ae5427f9fc0ad7606c904de4e543e67c4e5b2 |
x86_64 | |
ksh-20100202-1.el5.x86_64.rpm | SHA-256: 8f5ecad430ac78d88d46348f204f2ca046b16c578170c8c695623235162fe6e0 |
i386 | |
ksh-20100202-1.el5.i386.rpm | SHA-256: 41d6028ad6b499006464b75427bac259f8a680d26938f8b12da761f344481c29 |
Red Hat Enterprise Linux for IBM z Systems 5
SRPM | |
---|---|
ksh-20100202-1.el5.src.rpm | SHA-256: e5ce6b3fde35215f5ff611c5e70ae5427f9fc0ad7606c904de4e543e67c4e5b2 |
s390x | |
ksh-20100202-1.el5.s390x.rpm | SHA-256: 296bd23bbf1476745274c53d2544fc3b6e282ecf3337646daa15561aff40dcfe |
Red Hat Enterprise Linux for Power, big endian 5
SRPM | |
---|---|
ksh-20100202-1.el5.src.rpm | SHA-256: e5ce6b3fde35215f5ff611c5e70ae5427f9fc0ad7606c904de4e543e67c4e5b2 |
ppc | |
ksh-20100202-1.el5.ppc.rpm | SHA-256: d8dd2023aef6470f0e662541981304178e81f3a322716f4d0f7c4bc2b8e10599 |
Red Hat Enterprise Linux Server from RHUI 5
SRPM | |
---|---|
ksh-20100202-1.el5.src.rpm | SHA-256: e5ce6b3fde35215f5ff611c5e70ae5427f9fc0ad7606c904de4e543e67c4e5b2 |
x86_64 | |
ksh-20100202-1.el5.x86_64.rpm | SHA-256: 8f5ecad430ac78d88d46348f204f2ca046b16c578170c8c695623235162fe6e0 |
i386 | |
ksh-20100202-1.el5.i386.rpm | SHA-256: 41d6028ad6b499006464b75427bac259f8a680d26938f8b12da761f344481c29 |
The Red Hat security contact is secalert@redhat.com. More contact details at https://access.redhat.com/security/team/contact/.