Bug#690571: Tainted variable causes wrong smart matching in given/when constructs

Niko Tyni ntyni at debian.org
Thu Oct 18 16:02:35 UTC 2012


forwarded 690571 http://rt.perl.org/rt3/Public/Bug/Display.html?id=93590
tag 690571 patch fixed-upstream
thanks

On Wed, Oct 17, 2012 at 05:52:56PM +0200, Christoph Nodes wrote:
> an even more reduced test would be
> 
> $ X=1 perl -Te 'print "smart match\n" if $ENV{X} ~~ [0, 1]'

Thanks for the report and the concise test case.

This is [perl #93590], fixed upstream in 5.15.4 by
 http://perl5.git.perl.org/perl.git/commit/be88a5c3cc8efc0dbee86240eabf0050554fc717

Despite the discussion in the bug report, it didn't make it into 5.14.3,
presumably because of a lack of seconds.

I'm attaching a backported patch for 5.14. The function whose signature
is modified (do_smartmatch()) is a static one, so I don't see any binary
compatibility concerns, but eyeballs are welcome of course.

I'll see what I can do about getting this into wheezy. It's a regression
from squeeze, and as such it might still be eligible.
-- 
Niko Tyni   ntyni at debian.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-tainted-.-failing.patch
Type: text/x-diff
Size: 6690 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/perl-maintainers/attachments/20121018/112f0971/attachment.patch>


More information about the Perl-maintainers mailing list