зеркало из https://github.com/microsoft/git.git
cvsserver: Limit config parser to needed options
Change the configuration parser so that it ignores everything except for ^gitcvs.((ext|pserver).)? This greatly reduces the risk of failing while parsing some unknown and irrelevant config option. The bug that triggered this change was that the parsing doesn't handle sections that have a subsection and a variable with the same name. While this bug still remains, all remaining causes can be attributed to user error, since there are no defined variables gitcvs.ext and gitcvs.pserver. Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Родитель
198a2a8a69
Коммит
f987afa8fe
|
@ -183,9 +183,9 @@ sub req_Root
|
|||
}
|
||||
foreach my $line ( @gitvars )
|
||||
{
|
||||
next unless ( $line =~ /^(.*?)\.(.*?)(?:\.(.*?))?=(.*)$/ );
|
||||
unless ($3) {
|
||||
$cfg->{$1}{$2} = $4;
|
||||
next unless ( $line =~ /^(gitcvs)\.(?:(ext|pserver)\.)?([\w-]+)=(.*)$/ );
|
||||
unless ($2) {
|
||||
$cfg->{$1}{$3} = $4;
|
||||
} else {
|
||||
$cfg->{$1}{$2}{$3} = $4;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче