Skip to content
Snippets Groups Projects
Commit f442dd64 authored by Yang Tse's avatar Yang Tse
Browse files

fix Content-Length validation
parent bb2d9c37
No related branches found
No related tags found
No related merge requests found
......@@ -581,10 +581,12 @@ static int ProcessRequest(struct httprequest *req)
char *endptr;
char *ptr = line + 15;
unsigned long clen = 0;
while(*ptr && (' ' == *ptr))
while(*ptr && ISSPACE(*ptr))
ptr++;
endptr = ptr;
SET_ERRNO(0);
clen = strtoul(ptr, &endptr, 10);
if((ptr == endptr) || ERRNO) {
if((ptr == endptr) || !ISSPACE(*endptr) || (ERANGE == ERRNO)) {
/* this assumes that a zero Content-Length is valid */
logmsg("Found invalid Content-Length: (%s) in the request", ptr);
req->open = FALSE; /* closes connection */
......
......@@ -500,10 +500,12 @@ static int ProcessRequest(struct httprequest *req)
char *endptr;
char *ptr = line + 15;
unsigned long clen = 0;
while(*ptr && (' ' == *ptr))
while(*ptr && ISSPACE(*ptr))
ptr++;
endptr = ptr;
SET_ERRNO(0);
clen = strtoul(ptr, &endptr, 10);
if((ptr == endptr) || ERRNO) {
if((ptr == endptr) || !ISSPACE(*endptr) || (ERANGE == ERRNO)) {
/* this assumes that a zero Content-Length is valid */
logmsg("Found invalid Content-Length: (%s) in the request", ptr);
req->open = FALSE; /* closes connection */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment