From: Nick Mathewson Date: Fri, 22 Nov 2013 17:38:58 +0000 (-0500) Subject: Only update view of micrdescriptor pos if pos is fetchable. X-Git-Tag: tor-0.2.5.2-alpha~67 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=23dae51976765271239205672c5bfc22472a9606;p=thirdparty%2Ftor.git 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. --- diff --git a/src/or/microdesc.c b/src/or/microdesc.c index f6dd6b611b..7765d27da6 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);