commit 23dae51976765271239205672c5bfc22472a9606 Author: Nick Mathewson nickm@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);
tor-commits@lists.torproject.org