]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki.pm
meta: Security fix; don't allow alternative stylesheets to be added on pages where...
[git.ikiwiki.info.git] / IkiWiki.pm
index ff82e39617ade57148b251173253af9a4db3d206..443c7044796a29947936fd5de57e8e09c14bfec4 100644 (file)
@@ -334,6 +334,10 @@ sub readfile ($;$$) { #{{{
        binmode($in) if ($binary);
        return \*$in if $wantfd;
        my $ret=<$in>;
+       # check for invalid utf-8, and toss it back to avoid crashes
+       if (! utf8::valid($ret)) {
+               $ret=encode_utf8($ret);
+       }
        close $in || error("failed to read $file: $!");
        return $ret;
 } #}}}
@@ -564,7 +568,7 @@ sub urlto ($$;$) { #{{{
        }
 
        if ($absolute) {
-               return $config{url}.beautify_urlpath("/".$to);
+               return $config{url}.beautify_url("/".$to);
        }
 
        my $link = abs2rel($to, dirname(htmlpage($from)));
@@ -727,7 +731,7 @@ sub preprocess ($$$;$$) { #{{{
                my $params=shift;
                $params="" if ! defined $params;
 
-               f (length $escape) {
+               if (length $escape) {
                        return "[[$prefix$command $params]]";
                }
                elsif (exists $hooks{preprocess}{$command}) {