diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/bugs/prune_causing_taint_mode_failures.mdwn | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/doc/bugs/prune_causing_taint_mode_failures.mdwn b/doc/bugs/prune_causing_taint_mode_failures.mdwn new file mode 100644 index 000000000..3187ed54f --- /dev/null +++ b/doc/bugs/prune_causing_taint_mode_failures.mdwn @@ -0,0 +1,25 @@ +Using ikiwiki version 2.5gpa1 (the backport to Debian 3.1), I suddenly started getting the following error when rebuilding the wiki: + +successfully generated /home/ikiwiki/cgi-bin/ikiwiki.cgi +Insecure dependency in rmdir while running with -T switch at /usr/share/perl5/IkiWiki/Render.pm line 242. +BEGIN failed--compilation aborted at (eval 5) line 130. + +I've no idea what's happening (hey, I'm a C programmer), but I've hacked prune() to workaround this as follows: + +use Scalar::Util qw(tainted); + +sub prune ($) { #{{{ + my $file=shift; + + unlink($file); + my $dir=dirname($file); + if (!tainted($file) && $dir =~ /^(.*)$/) { + $dir = $1; + } + while (rmdir($dir)) { + $dir=dirname($dir); + if (!tainted($file) && $dir =~ /^(.*)$/) { + $dir = $1; + } + } +} #}}} |