This is an automated email from the git hooks/post-receive script.
dgoulet pushed a commit to branch main in repository tor.
commit 09afc5eacf67d83cd75b3a659fc23a6120e0033e Author: Micah Elizabeth Scott beth@torproject.org AuthorDate: Tue Feb 21 17:06:17 2023 -0800
update_suggested_effort: avoid assert if the pqueue has emptied
top_of_rend_pqueue_is_worthwhile requires a nonempty queue. --- src/feature/hs/hs_circuit.c | 6 +++--- src/feature/hs/hs_service.c | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/feature/hs/hs_circuit.c b/src/feature/hs/hs_circuit.c index 3f17373b69..0ac47ee19f 100644 --- a/src/feature/hs/hs_circuit.c +++ b/src/feature/hs/hs_circuit.c @@ -722,9 +722,9 @@ count_service_rp_circuits_pending(hs_service_t *service) return count; }
-/** Peek at the top entry on the pending rend pqueue. If its level of - * effort is at least what we're suggesting for that service right now, - * return 1, else return 0. +/** Peek at the top entry on the pending rend pqueue, which must not be empty. + * If its level of effort is at least what we're suggesting for that service + * right now, return 1, else return 0. */ int top_of_rend_pqueue_is_worthwhile(hs_pow_service_state_t *pow_state) diff --git a/src/feature/hs/hs_service.c b/src/feature/hs/hs_service.c index b50f996fbd..d67fead791 100644 --- a/src/feature/hs/hs_service.c +++ b/src/feature/hs/hs_service.c @@ -2689,7 +2689,8 @@ update_suggested_effort(hs_service_t *service, time_t now) /* If we had a queue during this period, and the current top of queue * is at or above the suggested effort, we should re-estimate the effort. * Otherwise, it can stay the same (no change to effort). */ - if (top_of_rend_pqueue_is_worthwhile(pow_state)) { + if (smartlist_len(pow_state->rend_request_pqueue) > 0 && + top_of_rend_pqueue_is_worthwhile(pow_state)) { pow_state->suggested_effort = (uint32_t)(pow_state->total_effort / pow_state->rend_handled); }