Skip to navigation

Bug Fix Advisory ksh bug fix and enhancement update

Advisory: RHBA-2010:0234-1
Type: Bug Fix Advisory
Severity: N/A
Issued on: 2010-03-30
Last updated on: 2010-03-30
Affected Products: RHEL Desktop Workstation (v. 5 client)
Red Hat Enterprise Linux (v. 5 server)

Details

An updated Ksh package that fixes various bugs is now available.

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

Updated packages

RHEL Desktop Workstation (v. 5 client)

SRPMS:
ksh-20100202-1.el5.src.rpm
File outdated by:  RHBA-2014:0317
    MD5: d46459087cb1589e1db75ed72d01fe06
SHA-256: e5ce6b3fde35215f5ff611c5e70ae5427f9fc0ad7606c904de4e543e67c4e5b2
 
IA-32:
ksh-20100202-1.el5.i386.rpm
File outdated by:  RHBA-2014:0317
    MD5: b8b318e1415cb48368cab63873621fef
SHA-256: 41d6028ad6b499006464b75427bac259f8a680d26938f8b12da761f344481c29
 
x86_64:
ksh-20100202-1.el5.x86_64.rpm
File outdated by:  RHBA-2014:0317
    MD5: 6b6c036688ef59d6291c14fc2ea38cd5
SHA-256: 8f5ecad430ac78d88d46348f204f2ca046b16c578170c8c695623235162fe6e0
 
Red Hat Enterprise Linux (v. 5 server)

SRPMS:
ksh-20100202-1.el5.src.rpm
File outdated by:  RHBA-2014:0317
    MD5: d46459087cb1589e1db75ed72d01fe06
SHA-256: e5ce6b3fde35215f5ff611c5e70ae5427f9fc0ad7606c904de4e543e67c4e5b2
 
IA-32:
ksh-20100202-1.el5.i386.rpm
File outdated by:  RHBA-2014:0317
    MD5: b8b318e1415cb48368cab63873621fef
SHA-256: 41d6028ad6b499006464b75427bac259f8a680d26938f8b12da761f344481c29
 
IA-64:
ksh-20100202-1.el5.ia64.rpm
File outdated by:  RHBA-2014:0317
    MD5: 728ac6357bbf7df1cc97d11c950f1498
SHA-256: 28eb7ff8db594a392d63d80e7d9b3663e308d2b21fe9601c8cb0c2390c66aed5
 
PPC:
ksh-20100202-1.el5.ppc.rpm
File outdated by:  RHBA-2014:0317
    MD5: 24e13a1fc94bf38ddec3e7b1dc6c1010
SHA-256: d8dd2023aef6470f0e662541981304178e81f3a322716f4d0f7c4bc2b8e10599
 
s390x:
ksh-20100202-1.el5.s390x.rpm
File outdated by:  RHBA-2014:0317
    MD5: aa65fca23aed015f52e18de1024a4cf1
SHA-256: 296bd23bbf1476745274c53d2544fc3b6e282ecf3337646daa15561aff40dcfe
 
x86_64:
ksh-20100202-1.el5.x86_64.rpm
File outdated by:  RHBA-2014:0317
    MD5: 6b6c036688ef59d6291c14fc2ea38cd5
SHA-256: 8f5ecad430ac78d88d46348f204f2ca046b16c578170c8c695623235162fe6e0
 
(The unlinked packages above are only available from the Red Hat Network)

Bugs fixed (see bugzilla for more information)

435159 - scripts failing under ksh
506790 - use of builtin return in user .profile causes problems
508869 - ksh returns exit level 1 on when unsetting a variable that was unset
509326 - ksh background process can loose output produced after the foreground completed
513967 - Parse failure when alias nested in any construct when in emacs mode
514485 - manual page mentions unavailable commands
520383 - ksh does not return pid of forked commands correctly
538655 - ja_JP.UTF-8 multibyte ksh script syntax error
538857 - ksh, typest, extra values
541654 - Newer version of ksh getopts does not support parenthesis
548519 - Numeric evaluation of text back-tick variable results in SEGV
553611 - ksh93: regression with set of an one-element array


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/