Re: Endless loop in split_on_bdry() of library/parser_multipart.c?

"Philip M. Gollucci" <[email protected]>
Newsgroups gmane.comp.apache.apreq
Organization P6M7G8 Consulting
Message-ID <[email protected]>
Bojan Smojver wrote:
> I'm seeing an endless loop in this part of the code:
> 
> ------------------------------------------------
>             do {
>                 apr_bucket *f = APR_BRIGADE_FIRST(in);
>                 APR_BUCKET_REMOVE(f);
>                 APR_BRIGADE_INSERT_TAIL(out, f);
>             } while (e != APR_BRIGADE_FIRST(in));
> ------------------------------------------------
You might try using Apache2::DebugFilter to see what buckets are getting passed, but I think
the apreq filter is hooked before that.

Being that bucket brigades are doubly linked circular lists, and the code is checking it hasn't looped on the list (aka 
ring) yet, it must be missing it.  Probably because it got removed from it (in).  Maybe we need to save the first bucket 
of the list somewhere. and change the comparison.

Sadly I'm not that familiar with this portion of the code yet.


-- 
------------------------------------------------------------------------
Philip M. Gollucci ([email protected]) 323.219.4708
Consultant / http://p6m7g8.net/Resume/resume.shtml
Senior Software Engineer - TicketMaster - http://ticketmaster.com
1024D/A79997FA F357 0FDD 2301 6296 690F  6A47 D55A 7172 A799 97F

"It takes a minute to have a crush on someone, an hour to like someone,
and a day to love someone, but it takes a lifetime to forget someone..."
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.