You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@spamassassin.apache.org by bu...@bugzilla.spamassassin.org on 2004/09/12 05:29:47 UTC

[Bug 3774] Argument "1000 1000" isn't numeric in scalar assignment

http://bugzilla.spamassassin.org/show_bug.cgi?id=3774





------- Additional Comments From felicity@kluge.net  2004-09-11 20:29 -------
Subject: Re:  New: Argument "1000 1000" isn't numeric in scalar assignment

On Sat, Sep 11, 2004 at 07:36:01PM -0700, bugzilla-daemon@bugzilla.spamassassin.org wrote:
> I'm getting a lot of these errors:  Argument "1000 1000" isn't numeric in scalar
> assignment at /usr/local/lib/perl5/site_perl/5.6.1/Mail/SpamAssassin/Util.pm
> line 981.
> 
> Using FreeBSD 4.4 and SA-RC4

The line in question is:

      $> = "$touid $touid";     # change euid back to target

I don't recall why it's not just "$> = $touid;" -- anybody else?

Note: this should work fine anyway since perl does atoi() on the scalar
before trying to use it as a number.  Or at least it's supposed to.

For instance:

$ uname -s
FreeBSD
$ perl -e '$_="1000 1000"; printf "%d\n", $_; $_+=0; print "$_\n";'
1000
1000

(I don't have root privs to try reproducing the euid bit)

Ok, so I'm just ranting since apparently the BSD version of perl is yet again
not working the same way as everyone else.

Can anyone remember why $touid is done twice?  IIRC, egid needs to be there
twice, and $) returns "# #" which needs to be split when we're processing it.

But we're doing euid, and $> always only seems to be 1 number.  Did I get
confused when writing the patch up in the first place, or did we actually need
do deal with $> returning "# #" somewhere?

If not, we can simply change that line ($> = $touid) and get rid of the
split at the top of the function (my $touid = $>).

Thoughts?





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