X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/594a9194561ad373a31a7d34c6b5c7a84ec417a0..14172959d4255c21ca772d92bfd546cf397c7716:/IkiWiki/Plugin/editpage.pm?ds=sidebyside diff --git a/IkiWiki/Plugin/editpage.pm b/IkiWiki/Plugin/editpage.pm index 8c78e853c..3d094c263 100644 --- a/IkiWiki/Plugin/editpage.pm +++ b/IkiWiki/Plugin/editpage.pm @@ -91,12 +91,15 @@ sub cgi_editpage ($$) { # This untaint is safe because we check file_pruned and # wiki_file_regexp. my ($page)=$form->field('page')=~/$config{wiki_file_regexp}/; - if (! defined $page || ! length $page || - file_pruned($page)) { + if (! defined $page) { error(gettext("bad page name")); } $page=possibly_foolish_untaint($page); my $absolute=($page =~ s#^/+##); # absolute name used to force location + if (! defined $page || ! length $page || + file_pruned($page)) { + error(gettext("bad page name")); + } my $baseurl = urlto($page); @@ -128,7 +131,8 @@ sub cgi_editpage ($$) { # favor the type of linking page $type=pagetype($pagesources{$from}); } - $type=$config{default_pageext} unless defined $type; + $type=$config{default_pageext} + if ! defined $type || $type=~/^_/; # not internal type $file=newpagefile($page, $type); if (! $form->submitted) { $form->field(name => "rcsinfo", value => "", force => 1);