https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7973

            Bug ID: 7973
           Summary: PerMsgStatus.pm: sub finish_tests never called
           Product: Spamassassin
           Version: 4.0.0
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Libraries
          Assignee: dev@spamassassin.apache.org
          Reporter: sa-...@lrz.de
  Target Milestone: Undefined

The subroutine finish_tests in Module PerMsgStatus.pm is never called.
Therefore all eval functions registered with register_generated_rule_method
will not be deleted.

The statement

$self->call_plugins("finish_tests", { conf => $self->{conf}, main => $self });

in Module SpamAssassin.pm, subroutine finish will only call the finish_tests
methods of plugins.

I assume the call of finish_tests should be done in finish of PerMsgStatus.pm
right after 

$self->{main}->call_plugins ("per_msg_finish", { permsgstatus => $self });

BTW: is there a reason why the methods are undefed instead of deleted:

if (defined &{$method}) {
  undef &{$method};
}

With this the namespace of the package is still poluted with the names of the
methods.

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to