You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by jm...@apache.org on 2006/11/26 21:32:16 UTC

svn commit: r479423 - /spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Check.pm

Author: jm
Date: Sun Nov 26 12:32:15 2006
New Revision: 479423

URL: http://svn.apache.org/viewvc?view=rev&rev=479423
Log:
fix bug: eval ruleset cannot be freed here, since it's needed again if/when another scoreset becomes used

Modified:
    spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Check.pm

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Check.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Check.pm?view=diff&rev=479423&r1=479422&r2=479423
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Check.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Check.pm Sun Nov 26 12:32:15 2006
@@ -813,7 +813,7 @@
 
 sub run_eval_tests {
   my ($self, $pms, $testtype, $evalhash, $prepend2desc, $priority, @extraevalargs) = @_;
-  
+ 
   return if $self->{main}->call_plugins("have_shortcircuited",
                                         { permsgstatus => $pms });
 
@@ -912,6 +912,7 @@
       ';
     }
  
+# TODO: Conf.pm should do this to save on arrayrefs
     my $argstr = '';
     if (scalar @args > 0) {
       $argstr = ',' . join (', ', map { "q#".$_."#" } @args);
@@ -947,8 +948,7 @@
     ';
   }
 
-  %{$evalhash} = ();
-  $self->free_ruleset_source($pms, 'eval', $priority);
+  # don't free the eval ruleset here -- we need it in the compiled code!
 
   # nothing done in the loop, that means no rules 
   return unless ($evalstr);