summaryrefslogtreecommitdiff
path: root/ext/IPC-Open3/lib/IPC/Open3.pm
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2011-06-05 16:31:02 +0200
committerNicholas Clark <nick@ccl4.org>2011-06-11 08:48:14 +0200
commit4a7f5a626835258b740c432e3a607b06a429ed33 (patch)
treeac2eb88e65f611ddedb25104d39cbec74c9e9742 /ext/IPC-Open3/lib/IPC/Open3.pm
parent031f91ce84f46612589c760c55adb30af25b87b5 (diff)
downloadperl-4a7f5a626835258b740c432e3a607b06a429ed33.tar.gz
Avoid an uninitialized hash key in IPC::Open::spawn_with_handles().
Diffstat (limited to 'ext/IPC-Open3/lib/IPC/Open3.pm')
-rw-r--r--ext/IPC-Open3/lib/IPC/Open3.pm4
1 files changed, 3 insertions, 1 deletions
diff --git a/ext/IPC-Open3/lib/IPC/Open3.pm b/ext/IPC-Open3/lib/IPC/Open3.pm
index 4396603144..dc19cea549 100644
--- a/ext/IPC-Open3/lib/IPC/Open3.pm
+++ b/ext/IPC-Open3/lib/IPC/Open3.pm
@@ -396,7 +396,9 @@ sub spawn_with_handles {
unless eval { $fd->{handle}->isa('IO::Handle') } ;
# If some of handles to redirect-to coincide with handles to
# redirect, we need to use saved variants:
- $fd->{handle}->fdopen($saved{fileno $fd->{open_as}} || $fd->{open_as},
+ $fd->{handle}->fdopen(defined fileno $fd->{open_as}
+ ? $saved{fileno $fd->{open_as}} || $fd->{open_as}
+ : $fd->{open_as},
$fd->{mode});
}
unless ($^O eq 'MSWin32') {