rbb 01/08/16 00:13:07
Modified: buckets apr_brigade.c
Log:
If we ask to partition a brigade past the end of the brigade, that is
not an error condition. At worst, that is a STATUS condition, that we
should report to the caller, namely, we didn't really partition this,
because there wasn't enough in the brigade to partition. We should also
return a pointer to the SENTINEL bucket, so that we can split the
brigade successfully.
This fixes a seg fault in mod_ssl for Apache.
Revision Changes Path
1.23 +2 -1 apr-util/buckets/apr_brigade.c
Index: apr_brigade.c
===================================================================
RCS file: /home/cvs/apr-util/buckets/apr_brigade.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- apr_brigade.c 2001/08/08 22:24:04 1.22
+++ apr_brigade.c 2001/08/16 07:13:07 1.23
@@ -186,7 +186,8 @@
}
point -= e->length;
}
- return APR_EINVAL;
+ *after_point = APR_BRIGADE_SENTINEL(b);
+ return APR_INCOMPLETE;
}
APU_DECLARE(apr_status_t) apr_brigade_length(apr_bucket_brigade *bb,