Browse Source

Add fix for remote-crash bug.

svn:r2447
Nick Mathewson 21 years ago
parent
commit
f6fc2b9dd2
1 changed files with 4 additions and 0 deletions
  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) {