diff options
author | Russ Allbery <eagle@eyrie.org> | 2016-01-03 21:26:28 -0800 |
---|---|---|
committer | Russ Allbery <eagle@eyrie.org> | 2016-01-03 21:26:28 -0800 |
commit | 61ef051f79682742a30d1501b81cd86ed172fa3c (patch) | |
tree | 88a608cf1e3cbdf1d74a32c432b2d71bb0076239 /perl/lib/Wallet/Kadmin | |
parent | 423792510f017d36580eb6d96342f6d09433a078 (diff) |
Use _exit when failing to fork external commands
Failed kadmin commands were deleting the wallet database in the
test suite due to an END block in the test programs. Use _exit
to avoid this.
Diffstat (limited to 'perl/lib/Wallet/Kadmin')
-rw-r--r-- | perl/lib/Wallet/Kadmin/MIT.pm | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/perl/lib/Wallet/Kadmin/MIT.pm b/perl/lib/Wallet/Kadmin/MIT.pm index ac45265..c5dea23 100644 --- a/perl/lib/Wallet/Kadmin/MIT.pm +++ b/perl/lib/Wallet/Kadmin/MIT.pm @@ -18,6 +18,7 @@ use strict; use warnings; use vars qw(@ISA $VERSION); +use POSIX qw(_exit); use Wallet::Config (); use Wallet::Kadmin (); @@ -65,11 +66,11 @@ sub kadmin { $self->{fork_callback} () if $self->{fork_callback}; unless (open (STDERR, '>&STDOUT')) { warn "wallet: cannot dup stdout: $!\n"; - exit 1; + _exit(1); } unless (exec ($Wallet::Config::KEYTAB_KADMIN, @args)) { warn "wallet: cannot run $Wallet::Config::KEYTAB_KADMIN: $!\n"; - exit 1; + _exit(1); } } local $_; |