Filenames need to be decoded, as File::Find does not provide them in
decoded form, but other callers of verify_src_file will be using utf8.
}
sub verify_src_file ($$) {
}
sub verify_src_file ($$) {
- my $file=decode_utf8(shift);
my $dir=shift;
return if -l $file || -d _;
my $dir=shift;
return if -l $file || -d _;
find({
no_chdir => 1,
wanted => sub {
find({
no_chdir => 1,
wanted => sub {
- my ($file, $page) = verify_src_file($_, $config{srcdir});
+ my ($file, $page) = verify_src_file(decode_utf8($_), $config{srcdir});
if (defined $file) {
push @files, $file;
if ($pages{$page}) {
if (defined $file) {
push @files, $file;
if ($pages{$page}) {
find({
no_chdir => 1,
wanted => sub {
find({
no_chdir => 1,
wanted => sub {
- my ($file, $page) = verify_src_file($_, $dir);
+ my ($file, $page) = verify_src_file(decode_utf8($_), $dir);
if (defined $file) {
# avoid underlaydir override
# attacks; see security.mdwn
if (defined $file) {
# avoid underlaydir override
# attacks; see security.mdwn