Updated ksh packages that fix several bugs are now available for Red HatEnterprise Linux 7.

KornShell (KSH) is a Unix shell developed by AT&T Bell Laboratories, which isbackward-compatible with the Bourne shell (Bash) and includes many features ofthe C shell. The most recent version is KSH-93. KornShell complies with thePOSIX.2 standard (IEEE Std 1003.2-1992).This update fixes the following bugs:* Prior to this update, the compiler optimization dropped parts from the ksh joblocking mechanism from the binary code. As a consequence, ksh could terminateunexpectedly with a segmentation fault after it received the SIGCHLD signal.This update implements a fix to ensure the compiler does not drop parts of theksh mechanism, and the crash no longer occurs. (BZ#1116506)* When running a command that output a lot of data, and then setting a variablefrom that output, ksh could become unresponsive. The combination of I/Oredirection and synchronization mechanism has been changed, and, as a result,commands complete successfully, and ksh no longer hangs. (BZ#1077090)* Due to a race condition in the job list code, ksh could terminateunexpectedly with a segmentation fault when the user had run custom scripts ontheir system. With this update, the race condition has been fixed, andsegmentation faults in ksh no longer occur. (BZ#1084406)* Previously, ksh did not check whether it had execution permissionfor a directory before changing into it. Consequently, ksh erroneously supposedthat it was operating inside that directory even though it was in fact stilloperating in the previous directory. With this update, ksh checks for executepermissions and, if lacking them, reports an error message as expected.(BZ#1109893)* Previously, ksh reused low file descriptor numbers, when any of themwere previously closed, but did not handle them correctly when they were notused for standard input, output or error output. As a result, when any ofstandard input (stdin), output (stdout) or error (stderr) was closed and itsfile descriptor was reused in command substitution, the output from commandsubstitution was empty. The code was updated to not reuse those low filedescriptors for command substitution. Command substitution now works correctlyeven if any of stdin, stdout or stderris closed. (BZ#1133585)* Previously, ksh could incorrectly initialize a variable holding the path ofthe working directory. If a program changed the working directory betweenforking and ksh execution, then ksh could contain a incorrect value in theworking directory variable. With this update, initialization of the workingdirectory variable has been corrected, and ksh now contains the correct value inthe aforementioned situation. (BZ#1135573)* Previously, the ksh syntax analyser did not parse command substitutions insideof here-documents correctly, which led to syntax error messages being reportedon a syntactically-correct code. A patch has been provided to fix this bug, andksh now interprets substitutes as intended. (BZ#1111120)* Previously, ksh could skip setting the exit code from the last command of afunction. As a consequence, the function could return a incorrect exit code. Theksh code has been updated to use the latest command of a function, and functionsthus return correct exit code. (BZ#1146507) * Previously, if a running function was unset by another function in the kshscript, the ksh shell terminated unexpectedly with a segmentation fault. Withthis update, the ksh code skips resetting the “running” flag if a function isunset, and ksh no longer crashes in the described scenario. (BZ#1105153)* Previously, ksh truncated too many decimals before rounding for numberssmaller than one. As a consequence, numbers from the interval of 0.5 – 0.999were incorrectly rounded to zero. This update ensures that there are alwaysenough decimals for correct rounding, and the result of rounding is now correct.(BZ#1070871) Users of ksh are advised to upgrade to these updated packages, which fix thesebugs.
Before applying this update, make sure all previously released erratarelevant to your system have been applied.For details on how to apply this update, refer to:https://access.redhat.com/articles/11258Red Hat Enterprise Linux Desktop (v. 7)

SRPMS:
ksh-20120801-22.el7.src.rpm
    MD5: f0ba640082116f3466b1ff3e7963523aSHA-256: 99f87e0acd6d664921cc95a9ca0ff41a42f418678c18401f9c8505931b81cba9
 
x86_64:
ksh-20120801-22.el7.x86_64.rpm
    MD5: 5769d1a110b51f54605889cfb3660115SHA-256: b147819d846e5caa98eb4422e78227f3c60c759300324bf7891ae77dc81663d8
ksh-debuginfo-20120801-22.el7.x86_64.rpm
    MD5: 7d3c26afd08b52f5c9f83429ba84439dSHA-256: ff364a105ed986b28f7fd7a8f4c1bc6ab293367ea801a1bc443324b35a574bb2
 
Red Hat Enterprise Linux HPC Node (v. 7)

SRPMS:
ksh-20120801-22.el7.src.rpm
    MD5: f0ba640082116f3466b1ff3e7963523aSHA-256: 99f87e0acd6d664921cc95a9ca0ff41a42f418678c18401f9c8505931b81cba9
 
x86_64:
ksh-20120801-22.el7.x86_64.rpm
    MD5: 5769d1a110b51f54605889cfb3660115SHA-256: b147819d846e5caa98eb4422e78227f3c60c759300324bf7891ae77dc81663d8
ksh-debuginfo-20120801-22.el7.x86_64.rpm
    MD5: 7d3c26afd08b52f5c9f83429ba84439dSHA-256: ff364a105ed986b28f7fd7a8f4c1bc6ab293367ea801a1bc443324b35a574bb2
 
Red Hat Enterprise Linux Server (v. 7)

SRPMS:
ksh-20120801-22.el7.src.rpm
    MD5: f0ba640082116f3466b1ff3e7963523aSHA-256: 99f87e0acd6d664921cc95a9ca0ff41a42f418678c18401f9c8505931b81cba9
 
PPC:
ksh-20120801-22.el7.ppc64.rpm
    MD5: 1229c335ff200cbca9ef34190fb96625SHA-256: bf7ced138b5b0d92f81ca1bbeec60e813115c5bf03a824bc501bb2ddd18fb772
ksh-debuginfo-20120801-22.el7.ppc64.rpm
    MD5: 4d9111d68d7338b5375571e3a9acb31bSHA-256: 0249d645fb117320b314eb5f1c0e27d871a55f489e78e8b4b71ee47b46e08bfd
 
s390x:
ksh-20120801-22.el7.s390x.rpm
    MD5: 4705b987dc5e7e717f06c326d5e16070SHA-256: 7be432cc897e792161e5ddb0906ff74ffaa855d9273de5ae9da4bbc7313234f9
ksh-debuginfo-20120801-22.el7.s390x.rpm
    MD5: d1a3dcf4e5853bb0ecc98ec931f7fc5eSHA-256: 08a7d3693e5bc9a1f58ac44185651be561e631d0cbce627f79495def1d09aed0
 
x86_64:
ksh-20120801-22.el7.x86_64.rpm
    MD5: 5769d1a110b51f54605889cfb3660115SHA-256: b147819d846e5caa98eb4422e78227f3c60c759300324bf7891ae77dc81663d8
ksh-debuginfo-20120801-22.el7.x86_64.rpm
    MD5: 7d3c26afd08b52f5c9f83429ba84439dSHA-256: ff364a105ed986b28f7fd7a8f4c1bc6ab293367ea801a1bc443324b35a574bb2
 
Red Hat Enterprise Linux Workstation (v. 7)

SRPMS:
ksh-20120801-22.el7.src.rpm
    MD5: f0ba640082116f3466b1ff3e7963523aSHA-256: 99f87e0acd6d664921cc95a9ca0ff41a42f418678c18401f9c8505931b81cba9
 
x86_64:
ksh-20120801-22.el7.x86_64.rpm
    MD5: 5769d1a110b51f54605889cfb3660115SHA-256: b147819d846e5caa98eb4422e78227f3c60c759300324bf7891ae77dc81663d8
ksh-debuginfo-20120801-22.el7.x86_64.rpm
    MD5: 7d3c26afd08b52f5c9f83429ba84439dSHA-256: ff364a105ed986b28f7fd7a8f4c1bc6ab293367ea801a1bc443324b35a574bb2
 
(The unlinked packages above are only available from the Red Hat Network)
1085385 – ksh exit produces “Interrupt (core dumped)”1100215 – ksh monitor mode documented contrary to what it actually does1109893 – RHEL7: ksh not giving error on “cd” to directory without execute bit1133585 – broken command substitution while stdout closed1135573 – ksh: Problem with ‘cd’ from a forked C program1141243 – shell hangs if setting variable from command that produces more than 120k and is piped1146161 – korn shell installation does not include symlink for the restricted shell

These packages are GPG signed by Red Hat for security. Our key and
details on how to verify the signature are available from:

Leave a Reply