We don't need to quote the filename to pass to the command, we can use an array of all the arguments to pass to the command, which is safer, and more extensible. Commit a47eab0 (send-email: use the three-arg form of open in recipients_cmd) stated we couldn't pass $file directly, but in fact, we can, the multi-word string is passed as is, and we can pass an array too. Signed-off-by: Felipe Contreras <felipe.contreras@xxxxxxxxx> --- git-send-email.perl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/git-send-email.perl b/git-send-email.perl index bd13cc8..7880d12 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -1452,11 +1452,11 @@ foreach my $t (@files) { # Execute a command (e.g. $to_cmd) to get a list of email addresses # and return a results array sub recipients_cmd { - my ($prefix, $what, $cmd, $file) = @_; + my ($prefix, $what, $cmd, @args) = @_; my $sanitized_sender = sanitize_address($sender); my @addresses = (); - open my $fh, "-|", "$cmd \Q$file\E" + open my $fh, "-|", $cmd, @args or die "($prefix) Could not execute '$cmd'"; while (my $address = <$fh>) { $address =~ s/^\s*//g; -- 1.8.2.1.1031.g2ee5873 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html