Bug 651888 - The dot command may misdirect output
Summary: The dot command may misdirect output
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: ksh
Version: 6.0
Hardware: Unspecified
OS: Unspecified
low
medium
Target Milestone: rc
: ---
Assignee: Michal Hlavinka
QA Contact: BaseOS QE - Apps
URL:
Whiteboard:
Depends On: 650998
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-11-10 14:54 UTC by Michal Hlavinka
Modified: 2017-03-28 09:58 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Previously, ksh did not restore file handles after executing a sourced script. If an output stream or an error stream was redirected in the sourced script, the respective stream remained redirected in the parent script as well. With this update, file handles are restored after execution of sourced scripts so a parent script is not affected by sourced script redirections.
Clone Of: 650998
Environment:
Last Closed: 2011-05-19 13:50:22 UTC
Target Upstream Version:


Attachments (Terms of Use)
patch to fix this (475 bytes, patch)
2011-01-05 13:30 UTC, Michal Hlavinka
jskala: review+
Details | Diff


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2011:0645 normal SHIPPED_LIVE ksh bug fix and enhancement update 2011-05-18 17:55:36 UTC

Description Michal Hlavinka 2010-11-10 14:54:58 UTC
+++ This bug was initially created as a clone of Bug #650998 +++

Description of problem:
ksh does not restore file handles after execution of a sourced script. If output or error stream is redirected in the sourced script, the respective stream remains redirected in the parent script as well.

Version-Release number of selected component (if applicable):
ksh-20100202-1.el5_5.1

How reproducible:
always

Steps to Reproduce:
1. Prepare 3 scripts:

$ cat > 1.ksh
. ./2.ksh
echo "STDOUT"

$ cat > 2.ksh
echo "STDERR" >&2

cat > run.ksh
. ./1.ksh

2.  And then execute run.ksh with standard output redirected to /dev/null:

$ ksh run.ksh > /dev/null

3.
  
Actual results:
STDERR
STDOUT


Expected results:
STDERR

Additional info:
This bug has been fixed in the latest upstream beta version (ksh-2010-10-10).

Comment 2 Michal Hlavinka 2011-01-05 13:30:30 UTC
Created attachment 471862 [details]
patch to fix this

Comment 5 Martin Prpič 2011-03-16 15:58:34 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Previously, ksh did not restore file handles after executing a sourced script. If an output stream or an error stream was redirected in the sourced script, the respective stream remained redirected in the parent script as well. With this update, file handles are restored after execution of sourced scripts so a parent script is not affected by sourced script redirections.

Comment 6 errata-xmlrpc 2011-05-19 13:50:22 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2011-0645.html


Note You need to log in before you can comment on or make changes to this bug.