uncompressed content it is often not enough
to read the same number of bytes, we already
read compressed. Since uncompress() allocates a
new buffer, we can increase the number of bytes
to read to the same size, we use in the case,
where the content isn't compressed.
Furthermore zero-terminate the read data to keep
assumptions consistent with the uncompressed case.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@756683
13f79535-47bb-0310-9956-
ffa450edef68
if (i == ncompr)
return 0;
- if ((newsize = uncompress(r, i, &newbuf, nbytes)) > 0) {
+ if ((newsize = uncompress(r, i, &newbuf, HOWMANY)) > 0) {
/* set encoding type in the request record */
r->content_encoding = compr[i].encoding;
+ newbuf[newsize-1] = '\0'; /* null-terminate uncompressed data */
+ /* Try to detect the content type of the uncompressed data */
if (tryit(r, newbuf, newsize, 0) != OK) {
return 0;
}