DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUGĀ· RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://issues.apache.org/bugzilla/show_bug.cgi?id=41143>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED ANDĀ· INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=41143 ------- Additional Comments From [EMAIL PROTECTED] 2007-06-29 07:02 ------- (In reply to comment #7) > (In reply to comment #6) > > But ap_get_brigade(AP_MODE_GETLINE) returns 8192 bytes at max and it is not > > guaranteed that this data contains a LF. > > No! ap_get_brigade(AP_MODE_GETLINE) may return much more than 8192 bytes. Ok. You are correct with this. Sorry, I misread the loop. > Suppose a brigade has two buckets of APR_BUCKET_BUFF_SIZE (8000) bytes each > and the line break is on the second bucket, at position 4000. In this case, > apr_brigade_split_line() will read the first bucket, and will proceed to read > the > next one since it's size is not >= HUGE_STRING_LEN. It will find a LF on the second > one and return a brigade of 12000 bytes. So apr_brigade_split_line() will not return more than maxbytes-1 + the size of the following bucket. So the brigade returned by ap_get_brigade(AP_MODE_GETLINE) may not contain the LF if the header is long enough (I would suppose that 16KB = 2 * 8000 (APR_BUCKET_BUFF_SIZE) + 384 should be sufficient to get there). I admit that this is a constructed edge case that might not happen in real life :-). > > > I agree that current code does it wrong, but I fear that there are other > > cases > > where your patch will do it wrong. > > Would you care to elaborate? Also, i'm not sure too if it's the best fix, but it can't > get any worse (famous last words). It is not getting worse, only different :-). -- Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
