[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: mailbox process growong - found (i think)
On Thu, Dec 21, 2000 at 11:15:48PM +0300, Eugene Crosser wrote:
> I think that I found the cause of mailbox processes infinitely growing,
> at least one case.
What you found is likely real, but not very long-time thing.
Related stuff was committed on 14 November 2000, and I recall
you mentioning this growth problem before than that...
... but it can also have been that around that time the original
problem was cured by rewriting header handling (which was terribly
muddy -- not just somewhat muddy...)
> Now imagine what happens if after a semicolon there is a character that
> is neither blank, tab or newline but is distinguished as delimiter by
> _skip_822atom()? Right, 's' pointer will not advance! The thing that
> it pints to will be distinguished as "unknown attribute" around line
> 840 and put into newly allocated chunk of memory. And again, and again.
Indeed, the _skip_822atom() is not supposed to be called with
pointer to Control/DEL/Space.
> In my case, I had mail with carriage return '\r' after semicolon. Once
> I added '\r' to the "if" operator in line 616 message passed. But this
> is not a general solution. Proper fix must guarantee that "s" pointer
> would advance under any circumstances.
That is just part of it. Other part is that at the linear-comment
scanner all kinds of controls must be skipped. (Thus preventing
arrival into _skip_822atom() with bad pointer.)
> Eugene
> --
> Eugene Crosser, dep. head of Internet Applications dept., +7 501 787 1000
> "Russia-On-Line", Teleross, Golden Telecom, http://www.online.ru/~crosser/
--
/Matti Aarnio <mea@nic.funet.fi>