[tor-bugs] #17724 [Tor]: Unreliable rend_cache_purge test
Tor Bug Tracker & Wiki
blackhole at torproject.org
Mon Nov 30 16:46:40 UTC 2015
#17724: Unreliable rend_cache_purge test
-----------------------------+------------------------------
Reporter: cypherpunks | Owner:
Type: defect | Status: new
Priority: Medium | Milestone:
Component: Tor | Version: Tor: unspecified
Severity: Minor | Keywords:
Actual Points: | Parent ID:
Points: | Sponsor:
-----------------------------+------------------------------
The `test_rend_cache_purge` function contains an assertion which verifies
that the internal strmap does not change after a purge
(`src/test/test_rendcache.c:1044` on
0a701e537778ac9da31049f4efebf7cb2bf9c285).
However, the `rend_cache_purge` function frees the internal strmap and
allocates a new one. This turns the assertion in a check whether memory
allocation returns the same address as was just freed. The C11 standard
mentions that a previous call to `free` is synchronized with a call to
`malloc` [0].
I found the issue during a Valgrind run which probably changed the
behavior of `free` and `malloc` to track them and caused the assertion to
fail.
I am suggesting to remove the assertion because it verifies behavior that
does not affect normal operation and (in my case) interferes with testing.
[0] [http://en.cppreference.com/w/c/memory/malloc]
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/17724>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list