Fix memory leak in rend_cache_failure_entry_free()

Bug 17402.
This commit is contained in:
Nick Mathewson 2015-10-21 10:52:57 -04:00
parent 03eb999d42
commit aa96abe66b
2 changed files with 12 additions and 5 deletions

3
changes/bug17402 Normal file
View File

@ -0,0 +1,3 @@
o Major bugfixes (memory leak):
- Fix a memory leak in rend_cache_failure_entry_free().
Fixes bug 17402; bugfix on 0.2.7.3-rc.

View File

@ -122,6 +122,12 @@ rend_cache_failure_intro_entry_free(rend_cache_failure_intro_t *entry)
tor_free(entry);
}
static void
rend_cache_failure_intro_entry_free_(void *entry)
{
rend_cache_failure_intro_entry_free_(entry);
}
/** Allocate a rend cache failure intro object and return it. <b>failure</b>
* is set into the object. This function can not fail. */
static rend_cache_failure_intro_t *
@ -142,11 +148,9 @@ rend_cache_failure_entry_free(rend_cache_failure_t *entry)
}
/* Free and remove every intro failure object. */
DIGESTMAP_FOREACH_MODIFY(entry->intro_failures, key,
rend_cache_failure_intro_t *, e) {
rend_cache_failure_intro_entry_free(e);
MAP_DEL_CURRENT(key);
} DIGESTMAP_FOREACH_END;
digestmap_free(entry->intro_failures,
rend_cache_failure_intro_entry_free_);
tor_free(entry);
}