aboutsummaryrefslogtreecommitdiff
path: root/changes/bug10409
Commit message (Expand)AuthorAge
* Avoid free()ing from an mmap on corrupted microdesc cache•••The 'body' field of a microdesc_t holds a strdup()'d value if the microdesc's saved_location field is SAVED_IN_JOURNAL or SAVED_NOWHERE, and holds a pointer to the middle of an mmap if the microdesc is SAVED_IN_CACHE. But we weren't setting that field until a while after we parsed the microdescriptor, which left an interval where microdesc_free() would try to free() the middle of the mmap(). This patch also includes a regression test. This is a fix for #10409; bugfix on 0.2.2.6-alpha. Nick Mathewson2013-12-16