From b1fecf16daa5e6652b603e918283f12d8584e869 Mon Sep 17 00:00:00 2001 From: joey Date: Tue, 21 Aug 2007 06:19:13 +0000 Subject: web commit by ali: Reporting bug with prune and taint mode --- doc/bugs/prune_causing_taint_mode_failures.mdwn | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 doc/bugs/prune_causing_taint_mode_failures.mdwn (limited to 'doc/bugs') 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; + } + } +} #}}} -- cgit v1.2.3