You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by si...@apache.org on 2006/04/09 14:31:38 UTC
svn commit: r392707 -
/spamassassin/branches/3.1/lib/Mail/SpamAssassin/EvalTests.pm
Author: sidney
Date: Sun Apr 9 05:31:35 2006
New Revision: 392707
URL: http://svn.apache.org/viewcvs?rev=392707&view=rev
Log:
bug 4829: deal with perl peculiarity with iterators when exiting early from a while each loop
Modified:
spamassassin/branches/3.1/lib/Mail/SpamAssassin/EvalTests.pm
Modified: spamassassin/branches/3.1/lib/Mail/SpamAssassin/EvalTests.pm
URL: http://svn.apache.org/viewcvs/spamassassin/branches/3.1/lib/Mail/SpamAssassin/EvalTests.pm?rev=392707&r1=392706&r2=392707&view=diff
==============================================================================
--- spamassassin/branches/3.1/lib/Mail/SpamAssassin/EvalTests.pm (original)
+++ spamassassin/branches/3.1/lib/Mail/SpamAssassin/EvalTests.pm Sun Apr 9 05:31:35 2006
@@ -3103,7 +3103,10 @@
next if ($k !~ m%^https?:/*(?:[^\@/]+\@)?\d+\.\d+\.\d+\.\d+%i);
foreach (@{$v->{anchor_text}}) {
next if (m%^https:/*(?:[^\@/]+\@)?\d+\.\d+\.\d+\.\d+%i);
- return 1 if (m%https:%i);
+ if (m%https:%i) {
+ keys %{$self->{html}->{uri_detail}}; # resets iterator, bug 4829
+ return 1;
+ }
}
}
@@ -3113,7 +3116,7 @@
sub check_iframe_src {
my ($self) = @_;
- while (my($k,$v) = each %{$self->{html}->{uri_detail}}) {
+ foreach my $v ( values %{$self->{html}->{uri_detail}} ) {
return 1 if $v->{types}->{iframe};
}