httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joe Orton <jor...@redhat.com>
Subject ap_save_brigade vs ENOTIMPL setaside
Date Thu, 23 Sep 2004 20:36:30 GMT
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=31247

I committed a hacky workaround for this to HEAD, but I think the real
bug is that nobody fixed this TODO in ap_save_brigade:

            /* ### this ENOTIMPL will go away once we implement setaside
               ### for all bucket types. */

when the byterange filter does an ap_save_brigade() on a brigade
containing a CGI bucket, it breaks, because the CGI bucket can't be
setaside, so it gets copied but its ->data pointer breaks because it has
the wrong lifetime and then all bets are off.

So what's the proper fix?  If ap_save_brigade did:

 if bkt->setaside() == ENOTIMPL
   bkt->read()
   if bkt->setaside() != SUCCESS 
     give up

then that would surely work correctly.  Or will I find a massive
flameware about this 3 years ago if I search the list archives, I dread
to look...

joe

Mime
View raw message