[tor-commits] [tor/master] Only update view of micrdescriptor pos if pos is fetchable.

nickm at torproject.org nickm at torproject.org
Fri Nov 22 17:43:11 UTC 2013


commit 23dae51976765271239205672c5bfc22472a9606
Author: Nick Mathewson <nickm at torproject.org>
Date:   Fri Nov 22 12:38:58 2013 -0500

    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.
---
 src/or/microdesc.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/or/microdesc.c b/src/or/microdesc.c
index f6dd6b6..7765d27 100644
--- a/src/or/microdesc.c
+++ b/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);





More information about the tor-commits mailing list