On Thu, Oct 24, 2002, Jeff Trawick <[EMAIL PROTECTED]> wrote:
> Johannes Erdfelt <[EMAIL PROTECTED]> writes:
> > Problem 2:
> > pass_request fills out an iovec with the headers and the body of the
> > request it wants to pass to another process. It unfortunately uses the
> > wrong variable for the length causing it to always be 0.
> > 
> > Solution:
> > Use the correct variable name "l". len is never set to anything so I removed
> > that and used 0 in the one reference to it. Implemented in the patch below.
> 
> applied, but I made another fix (?) too... see my note below, and let
> me know if it is bad :)
> 
> > Index: perchild.c
> > @@ -1635,7 +1645,6 @@
> >      apr_bucket_brigade *bb = apr_brigade_create(r->pool, c->bucket_alloc);
> >      apr_bucket_brigade *sockbb;
> >      char request_body[HUGE_STRING_LEN] = "\0";
> > -    apr_off_t len = 0;
> 
> looks to me like len should be initialized to sizeof(request_body)
> since on input to apr_brigade_flatten it should have the maximum
> length of the char array

I'll have to defer to you here. I'm not that familiar with the brigade
implementation to know what the appropriate fix for this is.

However, it most certainly is better than the current behaviour so I'm
not against it. If it's wrong, I'll find out pretty soon :)

Thanks for applying these patches!

JE

Reply via email to