From: David Goulet Date: Wed, 31 Jan 2018 15:58:11 +0000 (-0500) Subject: hs-v3: Remove a BUG() when storing a descriptor in the client cache X-Git-Tag: tor-0.3.2.10~25^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=df312b3cf637d2c5487adc60ed541823bef56f06;p=thirdparty%2Ftor.git hs-v3: Remove a BUG() when storing a descriptor in the client cache It is possible in normal circumstances that a client fetches a descriptor that has a lower revision counter than the one in its cache. This can happen due to HSDir desync. Fixes #24976 Signed-off-by: David Goulet --- diff --git a/changes/bug24976 b/changes/bug24976 new file mode 100644 index 0000000000..9c3be86eab --- /dev/null +++ b/changes/bug24976 @@ -0,0 +1,5 @@ + o Minor bugfixes (hidden service v3 client): + - Remove a BUG() statement which can be triggered in normal circumstances + where a client fetches a descriptor that has a lower revision counter + than the one in its cache. This can happen due to HSDir desync. Fixes + bug 24976; bugfix on 0.3.2.1-alpha. diff --git a/src/or/hs_cache.c b/src/or/hs_cache.c index 3ebe13fb4d..6a5a3895b0 100644 --- a/src/or/hs_cache.c +++ b/src/or/hs_cache.c @@ -624,8 +624,8 @@ cache_store_as_client(hs_cache_client_descriptor_t *client_desc) if (cache_entry != NULL) { /* If we have an entry in our cache that has a revision counter greater * than the one we just fetched, discard the one we fetched. */ - if (BUG(cache_entry->desc->plaintext_data.revision_counter > - client_desc->desc->plaintext_data.revision_counter)) { + if (cache_entry->desc->plaintext_data.revision_counter > + client_desc->desc->plaintext_data.revision_counter) { cache_client_desc_free(client_desc); goto done; }