Browse Source

Only update view of micrdescriptor pos if pos is fetchable.

It's conceivable (but probably impossible given our code) that lseek
could return -1 on an error; when that happens, we don't want off to
become -1.

Fixes CID 1035124.
Nick Mathewson 11 years ago
parent
commit
23dae51976
1 changed files with 2 additions and 1 deletions
  1. 2 1
      src/or/microdesc.c

+ 2 - 1
src/or/microdesc.c

@@ -475,7 +475,8 @@ microdesc_cache_rebuild(microdesc_cache_t *cache, int force)
                "By my count, I'm at "I64_FORMAT
                ", but I should be at "I64_FORMAT,
                I64_PRINTF_ARG(off), I64_PRINTF_ARG(off_real));
-      off = off_real;
+      if (off_real >= 0)
+        off = off_real;
     }
     if (md->saved_location != SAVED_IN_CACHE) {
       tor_free(md->body);