summaryrefslogtreecommitdiff
path: root/mathoms.c
diff options
context:
space:
mode:
authorDaniel Dragan <bulk88@hotmail.com>2015-07-07 12:59:01 -0400
committerTony Cook <tony@develop-help.com>2015-07-08 11:35:57 +1000
commitc85f23b236fa90fedd9cceed2da12481184d5bbf (patch)
treeaff58bca43713ec58444143c0d000adef9c371d9 /mathoms.c
parent7ed1d857c7b7016b9bde564c6802a4721d903d95 (diff)
downloadperl-c85f23b236fa90fedd9cceed2da12481184d5bbf.tar.gz
dont report a $@ exception with uninitialized $!'s message in IPC::Open3
Commit a24d8dfd08 "Make IPC::Open3 work without fork()" from 5.003 created an eval block, and if that eval block threw an exception, instead of propagating $@, the code propagated $!, even though no system call was done and $! is effectivly unintialized data. In one case for me, a taint exception inside system was turned into open3() throwing an exception about "Inappropriate I/O control operation" or "Bad file descriptor", which had nothing to do with the real fault which was a Perl C level croak with the message "Insecure $ENV{PATH} while running with -T switch at ..." which was called as Perl_pp_system->Perl_taint_env->Perl_taint_proper-> Perl_croak->Perl_vcroak. This patch does not try to fix the ambiguity of the error messages between the !DO_SPAWN and IO::Pipe branches/implementations of _open3.
Diffstat (limited to 'mathoms.c')
0 files changed, 0 insertions, 0 deletions