mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2025-02-24 22:58:50 +01:00
Merge remote-tracking branch 'tor-github/pr/1181' into maint-0.3.5
This commit is contained in:
commit
1132dc9f75
2 changed files with 10 additions and 6 deletions
4
changes/bug31003
Normal file
4
changes/bug31003
Normal file
|
@ -0,0 +1,4 @@
|
|||
o Minor bugfixes (crash on exit):
|
||||
- Avoid a set of possible code paths that could use try to use freed memory
|
||||
in routerlist_free() while Tor was exiting. Fixes bug 31003; bugfix on
|
||||
0.1.2.2-alpha.
|
|
@ -954,20 +954,18 @@ routerlist_free_(routerlist_t *rl)
|
|||
smartlist_free(rl->routers);
|
||||
smartlist_free(rl->old_routers);
|
||||
if (rl->desc_store.mmap) {
|
||||
int res = tor_munmap_file(routerlist->desc_store.mmap);
|
||||
int res = tor_munmap_file(rl->desc_store.mmap);
|
||||
if (res != 0) {
|
||||
log_warn(LD_FS, "Failed to munmap routerlist->desc_store.mmap");
|
||||
}
|
||||
}
|
||||
if (rl->extrainfo_store.mmap) {
|
||||
int res = tor_munmap_file(routerlist->extrainfo_store.mmap);
|
||||
int res = tor_munmap_file(rl->extrainfo_store.mmap);
|
||||
if (res != 0) {
|
||||
log_warn(LD_FS, "Failed to munmap routerlist->extrainfo_store.mmap");
|
||||
}
|
||||
}
|
||||
tor_free(rl);
|
||||
|
||||
router_dir_info_changed();
|
||||
}
|
||||
|
||||
/** Log information about how much memory is being used for routerlist,
|
||||
|
@ -1426,8 +1424,10 @@ routerlist_reparse_old(routerlist_t *rl, signed_descriptor_t *sd)
|
|||
void
|
||||
routerlist_free_all(void)
|
||||
{
|
||||
routerlist_free(routerlist);
|
||||
routerlist = NULL;
|
||||
routerlist_t *rl = routerlist;
|
||||
routerlist = NULL; // Prevent internals of routerlist_free() from using
|
||||
// routerlist.
|
||||
routerlist_free(rl);
|
||||
dirlist_free_all();
|
||||
if (warned_nicknames) {
|
||||
SMARTLIST_FOREACH(warned_nicknames, char *, cp, tor_free(cp));
|
||||
|
|
Loading…
Add table
Reference in a new issue