Commit f442dd64 authored by Yang Tse's avatar Yang Tse
Browse files

fix Content-Length validation
parent bb2d9c37
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -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 */
+4 −2
Original line number Diff line number Diff line
@@ -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 */