summaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/inline.pm
diff options
context:
space:
mode:
Diffstat (limited to 'IkiWiki/Plugin/inline.pm')
-rw-r--r--IkiWiki/Plugin/inline.pm11
1 files changed, 10 insertions, 1 deletions
diff --git a/IkiWiki/Plugin/inline.pm b/IkiWiki/Plugin/inline.pm
index 1ea347b08..427c25a96 100644
--- a/IkiWiki/Plugin/inline.pm
+++ b/IkiWiki/Plugin/inline.pm
@@ -21,6 +21,7 @@ sub import { #{{{
package IkiWiki;
my %toping;
+my $processing_inline=0;
sub preprocess_inline (@) { #{{{
my %params=@_;
@@ -35,6 +36,12 @@ sub preprocess_inline (@) { #{{{
$params{show}=10;
}
+ # Avoid nested inlines, to avoid loops etc.
+ if ($processing_inline) {
+ return "";
+ }
+ $processing_inline=1;
+
my @list;
foreach my $page (keys %pagesources) {
next if $page eq $params{page};
@@ -104,6 +111,8 @@ sub preprocess_inline (@) { #{{{
$toping{$params{page}}=1 unless $config{rebuild};
}
+ $processing_inline=0;
+
return $ret;
} #}}}
@@ -114,7 +123,7 @@ sub get_inline_content ($$) { #{{{
my $file=$pagesources{$page};
my $type=pagetype($file);
if (defined $type) {
- return htmlize($type, preprocess($page, $destpage, linkify($page, $destpage, readfile(srcfile($file))), 1));
+ return htmlize($type, preprocess($page, $destpage, linkify($page, $destpage, readfile(srcfile($file)))));
}
else {
return "";