[tor-commits] [tor/master] don't free the values in options->MyFamily when we make a descriptor

nickm at torproject.org nickm at torproject.org
Thu May 25 12:55:01 UTC 2017


commit a7e75ff7966d7d3d83d41a47c5b9fa5e3daa2465
Author: Roger Dingledine <arma at torproject.org>
Date:   Wed May 24 23:14:23 2017 -0400

    don't free the values in options->MyFamily when we make a descriptor
    
    If we free them here, we will still attempt to access the freed memory
    later on, and also we will double-free when we are freeing the config.
    
    Fixes part of bug 22368.
---
 src/or/router.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/src/or/router.c b/src/or/router.c
index 642f415..b43742a 100644
--- a/src/or/router.c
+++ b/src/or/router.c
@@ -2289,7 +2289,7 @@ router_build_fresh_descriptor(routerinfo_t **r, extrainfo_t **e)
        char *name = family->value;
        const node_t *member;
        if (!strcasecmp(name, options->Nickname))
-         goto skip; /* Don't list ourself, that's redundant */
+         continue; /* Don't list ourself, that's redundant */
        else
          member = node_get_by_nickname(name, 1);
        if (!member) {
@@ -2323,8 +2323,6 @@ router_build_fresh_descriptor(routerinfo_t **r, extrainfo_t **e)
          if (smartlist_contains_string(warned_nonexistent_family, name))
            smartlist_string_remove(warned_nonexistent_family, name);
        }
-    skip:
-       tor_free(name);
     }
 
     /* remove duplicates from the list */





More information about the tor-commits mailing list