[Greylist-users] free unreferenced scalar

Eric S ejs at bfd.com
Mon Aug 11 14:12:53 PDT 2003

On Mon, 11 Aug 2003, Michael Gross wrote:

> Does anyone know why I get the message at the bottom?  Thanks.
> [root at mailfilter2 mail]# perl /usr/local/bin/relaydelay.pl
> Loading Config File: /etc/mail/relaydelay.conf
> Using connection 'local:/var/run/relaydelay.sock' for filter relaydelay
> Attempting to unlink local UNIX socket '/var/run/relaydelay.sock' ...
> successful.
> DBI Connecting to DBI:mysql:database=relaydelay:host=localhost:port=3306
> Starting Sendmail::Milter 0.18 engine.
> === 2003-08-11 09:49:23 ===
> Stored Sender: <removed>
> Passed Recipient: <removed>
> Attempt to free unreferenced scalar at /usr/local/bin/relaydelay.pl line
> 432.

As someone who is working on his own greylisting implementation, I know
all too well what that one means, beat my head on it for days until I
figured it out.

In my case, it always happened when I was attempting to read the session
data.  It turns out that reading the session data clears it, and if you
don't put it back, the next time you try to read it, the call blows up.

Since learning this, I've been quite paranoid about how I return from my
Milter callbacks, and my code can run for weeks without a peep.  Or at
least it could if the cats didn't like sleeping on the power strip,
hitting the power switch when they stretch.

More information about the Greylist-users mailing list