Add safe_backtick_stderr sub
authorFlorian Weimer <fw@deneb.enyo.de>
Thu, 22 May 2008 13:38:05 +0000 (22 15:38 +0200)
committerFlorian Weimer <fw@deneb.enyo.de>
Thu, 22 May 2008 13:38:05 +0000 (22 15:38 +0200)
dowkd.in

index c150834..c0bd7bd 100644 (file)
--- a/dowkd.in
+++ b/dowkd.in
@@ -147,6 +147,25 @@ sub safe_backtick (@) {
     }
 }
 
+sub safe_backtick_stderr {
+    my @args = @_;
+    my $fh;
+    my $pid = open $fh, '-|';
+    if ($pid) {
+       my @result = <$fh>;
+       close $fh;
+       $? == 0 or return undef;
+       if (wantarray) {
+           return @result;
+       } else {
+           return join('', @result);
+       }
+    } else {
+       open STDERR, '>&STDOUT' or die "error: could not redirect stderr: $!";
+       exec @args or die "exec: failed: $!";
+    }
+}
+
 my $keys_found = 0;
 my $keys_vulnerable = 0;