test: Increment rend cache allocation before freeing

The rend_cache/entry_free was missing the rend cache allocation increment
before freeing the object.

Without it, it had an underflow bug:

  Sep 17 08:40:13.845 [warn] rend_cache_decrement_allocation(): Bug: Underflow
  in rend_cache_decrement_allocation (on Tor 0.4.5.0-alpha-dev
  7eef9ced61)

Fixes #40125

Signed-off-by: David Goulet <dgoulet@torproject.org>
This commit is contained in:
David Goulet 2020-09-17 12:55:40 -04:00
parent 72484a4953
commit 47f1d19f8e
2 changed files with 6 additions and 0 deletions

4
changes/ticket40125 Normal file
View file

@ -0,0 +1,4 @@
o Testing (onion service v2):
- Fix a rendezvous cache unit test that was triggering an underflow on the
global rend cache allocation. Fixes bug 40125; bugfix on
0.2.8.1-alpha.

View file

@ -978,11 +978,13 @@ test_rend_cache_entry_free(void *data)
// Handles NULL descriptor correctly
e = tor_malloc_zero(sizeof(rend_cache_entry_t));
rend_cache_increment_allocation(rend_cache_entry_allocation(e));
rend_cache_entry_free(e);
// Handles non-NULL descriptor correctly
e = tor_malloc_zero(sizeof(rend_cache_entry_t));
e->desc = tor_malloc(10);
rend_cache_increment_allocation(rend_cache_entry_allocation(e));
rend_cache_entry_free(e);
/* done: */