зеркало из https://github.com/microsoft/git.git
gitweb: die when a configuration file cannot be read
Fix a possibility of a permission to access error go unnoticed. Perl uses two different variables to manage errors from a "do $filename" construct. One is $@, which is set in this case when do is unable to compile the file. The other is $!, which is set in case do cannot read the file. The current code only checks "$@", which means a configuration file passed to GitWeb that is not readable by the server process does not cause it to "die". Make sure we also check and act on "$!" to fix this. Signed-off-by: Marcelo Roberto Jimenez <marcelo.jimenez@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
564d0252ca
Коммит
ac62a3649f
|
@ -728,9 +728,11 @@ our $per_request_config = 1;
|
|||
sub read_config_file {
|
||||
my $filename = shift;
|
||||
return unless defined $filename;
|
||||
# die if there are errors parsing config file
|
||||
if (-e $filename) {
|
||||
do $filename;
|
||||
# die if there is a problem accessing the file
|
||||
die $! if $!;
|
||||
# die if there are errors parsing config file
|
||||
die $@ if $@;
|
||||
return 1;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче