Negative repeat count does nothing...

Mark Martinec Mark.Martinec+amavis at ijs.si
Wed Jan 27 18:11:04 CET 2016


Alex,

> Hi,
> Since upgrading my system to amavisd-new-2.10.1 and perl-5.22.1 on
> fedora23, I've been receiving the following warnings from amavis:
> 
> Jan 19 09:52:45 mail03 amavis[3843]: (03843-03) _WARN: Negative repeat
> count does nothing at /usr/sbin/amavisd line 16408.
> 
> Is this a known problem? It appears to have been fixed from the release 
> notes:
> 
> - avoid warnings issued by perl 5.21.5:
>     Negative repeat count does nothing at ./amavisd line 17218
>     Missing argument in sprintf at ./amavisd line 3678
> 
> Perhaps the problem is back? Should I submit a bug report?

It is another instance of the same problem, previously unnoticed.
I have it fixed in my code, but hasn't been released yet.
Apart from producing annoying warnings, it is otherwise harmless.

See below for a patch.


> Is this the proper list to ask questions such as these?

Yes.

> Is 2.10.1 from 2014 really the latest release?

Unfortunately yes. Need to bring 2.10.2 into shape and release it.

   Mark



--- amavisd~    2014-10-26 01:06:00.000000000 +0200
+++ amavisd     2016-01-27 18:07:45.377670640 +0100
@@ -16406,7 +16406,10 @@
        my $autolearn_status = $msginfo->supplementary_info('AUTOLEARN');
        my $slc = c('sa_spam_level_char');
-      $spam_level_bar = $slc x min(64, $bypassed || $whitelisted ? 0
-                                     : $blacklisted ? 64
-                                     : 0+$spam_level)  if $slc ne '';
+      if (defined $slc && $slc ne '') {
+        my $bar_len = $whitelisted || $bypassed ? 0 : $blacklisted ? 64
+                    : !defined $spam_level ? 0
+                    : $spam_level > 64 ? 64 : $spam_level;
+        $spam_level_bar = $bar_len < 1 ? '' : $slc x int $bar_len;
+      }
        my $spam_tests = $r->spam_tests;
        $spam_tests = !$spam_tests ? '' : 
join(',',map($$_,@$spam_tests));


More information about the amavis-users mailing list