Explorar o código

Add fix for remote-crash bug.

svn:r2447
Nick Mathewson %!s(int64=21) %!d(string=hai) anos
pai
achega
f6fc2b9dd2
Modificáronse 1 ficheiros con 4 adicións e 0 borrados
  1. 4 0
      src/or/buffers.c

+ 4 - 0
src/or/buffers.c

@@ -381,6 +381,10 @@ int fetch_from_buf_http(buf_t *buf,
   p = strstr(headers, CONTENT_LENGTH);
   if (p) {
     contentlen = atoi(p+strlen(CONTENT_LENGTH));
+    if (contentlen < 0) {
+      log_fn(LOG_WARN, "Content-Length is less than zero; it looks like someone is trying to crash us.");
+      return -1;
+    }
     /* if content-length is malformed, then our body length is 0. fine. */
     log_fn(LOG_DEBUG,"Got a contentlen of %d.",contentlen);
     if(bodylen < contentlen) {