cvsimport: shell-quote variable used in backticks

We run `git rev-parse` though the shell, and quote its
argument only with single-quotes. This prevents most
metacharacters from being a problem, but misses the obvious
case when $name itself has single-quotes in it. We can fix
this by applying the usual shell-quoting formula.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jeff King 2017-09-11 10:24:26 -04:00 коммит произвёл Junio C Hamano
Родитель 4d4165b80d
Коммит 5b4efea666
1 изменённых файлов: 1 добавлений и 0 удалений

Просмотреть файл

@ -642,6 +642,7 @@ sub is_sha1 {
sub get_headref ($) { sub get_headref ($) {
my $name = shift; my $name = shift;
$name =~ s/'/'\\''/;
my $r = `git rev-parse --verify '$name' 2>/dev/null`; my $r = `git rev-parse --verify '$name' 2>/dev/null`;
return undef unless $? == 0; return undef unless $? == 0;
chomp $r; chomp $r;