procmail
[Top] [All Lists]

Re: This tiny script causes a segmentation fault..

2004-07-28 19:53:56
* Dallman Ross <dman(_at_)nomotek(_dot_)com> [2004-07-28 15:38]:

I am unable to reproduce your results.  In fact, the above 
recipe in my test harness (from your LINEBUF assignment on)
does not overrun for me.

I wonder if your test harness changed something.  The script I posted
can be run by itself.

When I increase length of $SOME_BYTES I can cause a buffer overrun,
of course.  Here is a log snippet with that accomplished:

 procmail: Assigning "LINEBUF=128"
 procmail: Exceeded LINEBUF
 procmail: Assigning "PROCMAIL_OVERFLOW=yes"
 procmail: No match on ! [...]

But also notice the fair warning.  That is, of course, with verbose
logging on.  With verbose logging off, I get only this warning

 procmail: Exceeded LINEBUF

That's the same result I get when the overflow happens during the
instantiation of a variable, which is a correct, bug-free result.

However, if I ensure that the buffer is nearly completely filled at
instantiation, then overflow the buffer at the evaluation time of a
conditional, then things go haywire.  At least, I assume that's what's
happening.  I could maybe try replacing the TO_ in the conditional
with a To:, which may not yet exceed the LINEBUF, and see if the fault
does not occur.

What version of procmail are you using again?

I am curious about what you experience, but can't duplicate it.  So
if your version is modern, it must be peculiar to your platform/build.

This is the version packaged with RedHat 9.0, which was a full
install of every available package:  

  $ procmail -v
  procmail v3.22 2001/09/10

If you feel like it, you could download my diagnostics plug-in rc
and run it via an INCLUDERC after the buffer overrun.  You will get
something like this:

I'm not sure yet if I want to start looking at the code to debug it.
I'll keep that in mind.

____________________________________________________________
procmail mailing list   Procmail homepage: http://www.procmail.org/
procmail(_at_)lists(_dot_)RWTH-Aachen(_dot_)DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/procmail