Marc Englund <[EMAIL PROTECTED]> writes:
> - libapreq segfaulted if the submitted text was exactly a
> 'multipart-buffer' long (5120)
>
> - a submitted text could never be more than two multipart-buffers
> long (2*5120)
>
> I have included a patch to libapreq-0.31, but it's just a quick
> fix (although it seems to work).
[...]
>
> diff -Naur libapreq-0.31-orig/c/apache_request.c
> libapreq-0.31/c/apache_request.c
> --- libapreq-0.31-orig/c/apache_request.c Sat Jul 3 04:00:17 1999
> +++ libapreq-0.31/c/apache_request.c Wed Jan 31 14:06:47 2001
I think you're patching a fairly old build of libapreq:
[...]
>
> @@ -295,7 +313,7 @@
> retval = retval ?
> my_join(self->r->pool, retval, old_len, data, blen) :
> ap_pstrndup(self->r->pool, data, blen);
> - old_len = blen;
> + old_len += blen;
^^^^^^^^^^^^^^^
This bug I definitely recognize, since I think I introduced it in the
first patch I posted to the modperl list. It was later fixed in a
followup around September or so.
Anyway, the multipart buffer code is substantially better now (and
probably will change again soon), so it would be quite helpful if you
could test the latest version and see if these problems still crop up.
I think you can fetch a copy at
http://www.apache.org/~jimw/httpd-apreq-20010202.tar.gz
Thanks alot.
--
Joe Schaefer