PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
[ start all new proposals below, under PATCHES PROPOSED. ]
- *) Easy patches - synch with trunk
- mod_negotiation: simplify type-map body tag lookup, and be safe
- should it contain a NUL byte.
- trunk: http://svn.apache.org/r1700851
- 2.4.x: trunk works
- +1: jailletc36, ylavic, jim
-
-
PATCHES PROPOSED TO BACKPORT FROM TRUNK:
[ New proposals should be added at the end of the list ]
apr_file_t *map)
{
char *endbody;
- int bodylen;
- int taglen;
+ apr_size_t bodylen;
apr_off_t pos;
- taglen = strlen(tag);
- *len -= taglen;
/* We are at the first character following a body:tag\n entry
* Suck in the body, then backspace to the first char after the
* closing tag entry. If we fail to read, find the tag or back
* up then we have a hosed file, so give up already
*/
+ --*len; /* Reserve space for '\0' */
if (apr_file_read(map, buffer, len) != APR_SUCCESS) {
return -1;
}
+ buffer[*len] = '\0';
- /* put a copy of the tag *after* the data read from the file
- * so that strstr() will find something with no reliance on
- * terminating '\0'
- */
- memcpy(buffer + *len, tag, taglen);
- endbody = strstr(buffer, tag);
- if (endbody == buffer + *len) {
+ endbody = ap_strstr(buffer, tag);
+ if (!endbody) {
return -1;
}
bodylen = endbody - buffer;
- endbody += taglen;
+ endbody += strlen(tag);
/* Skip all the trailing cruft after the end tag to the next line */
while (*endbody) {
if (*endbody == '\n') {