memory leak in router_append_dirobj_signature()
On moria1, I see these memory leaks, all seemingly related:
==7518== 320 bytes in 1 blocks are definitely lost in loss record 17 of 32
==7518== at 0x4C244E8: malloc (vg_replace_malloc.c:236)
==7518== by 0x501A87: tor_malloc_ (util.c:162)
==7518== by 0x46B9FA: router_get_dirobj_signature (routerparse.c:667)
==7518== by 0x46BB0B: router_append_dirobj_signature (routerparse.c:704)
==7518== by 0x4585EE: extrainfo_dump_to_string (router.c:2684)
==7518== by 0x45A067: router_rebuild_descriptor (router.c:1947)
==7518== by 0x45A4E2: router_get_my_routerinfo (router.c:1707)
==7518== by 0x45A517: router_get_my_descriptor (router.c:1719)
==7518== by 0x45C7F6: init_keys (router.c:909)
==7518== by 0x4A6420: set_options (config.c:1459)
==7518== by 0x4AA297: options_init_from_string (config.c:4185)
==7518== by 0x4AA558: options_init_from_torrc (config.c:4037)
==7518== 320 bytes in 1 blocks are definitely lost in loss record 18 of 32
==7518== at 0x4C244E8: malloc (vg_replace_malloc.c:236)
==7518== by 0x501A87: tor_malloc_ (util.c:162)
==7518== by 0x46B9FA: router_get_dirobj_signature (routerparse.c:667)
==7518== by 0x46BB0B: router_append_dirobj_signature (routerparse.c:704)
==7518== by 0x4585EE: extrainfo_dump_to_string (router.c:2684)
==7518== by 0x45A067: router_rebuild_descriptor (router.c:1947)
==7518== by 0x45A4E2: router_get_my_routerinfo (router.c:1707)
==7518== by 0x45A5B8: router_my_exit_policy_is_reject_star (router.c:1657)
==7518== by 0x4D4D24: directory_fetches_from_authorities (dirserv.c:1224)
==7518== by 0x433078: update_consensus_networkstatus_fetch_time (networkstatus.c:818)
==7518== by 0x4351D9: networkstatus_set_current_consensus (networkstatus.c:1329)
==7518== by 0x43575F: router_reload_consensus_networkstatus (networkstatus.c:143)
==7518== 320 bytes in 1 blocks are definitely lost in loss record 19 of 32
==7518== at 0x4C244E8: malloc (vg_replace_malloc.c:236)
==7518== by 0x501A87: tor_malloc_ (util.c:162)
==7518== by 0x46B9FA: router_get_dirobj_signature (routerparse.c:667)
==7518== by 0x46BB0B: router_append_dirobj_signature (routerparse.c:704)
==7518== by 0x4585EE: extrainfo_dump_to_string (router.c:2684)
==7518== by 0x45A067: router_rebuild_descriptor (router.c:1947)
==7518== by 0x45A4E2: router_get_my_routerinfo (router.c:1707)
==7518== by 0x4BC328: connection_or_send_netinfo (connection_or.c:2160)
==7518== by 0x487651: channel_tls_handle_var_cell (channeltls.c:1437)
==7518== by 0x4BD908: connection_or_process_cells_from_inbuf (connection_or.c:2037)
==7518== by 0x4B38D7: connection_handle_read (connection.c:3171)
==7518== by 0x42E975: conn_read_callback (main.c:735)
==7518== 320 bytes in 1 blocks are definitely lost in loss record 20 of 32
==7518== at 0x4C244E8: malloc (vg_replace_malloc.c:236)
==7518== by 0x501A87: tor_malloc_ (util.c:162)
==7518== by 0x46B9FA: router_get_dirobj_signature (routerparse.c:667)
==7518== by 0x46BB0B: router_append_dirobj_signature (routerparse.c:704)
==7518== by 0x4585EE: extrainfo_dump_to_string (router.c:2684)
==7518== by 0x45A067: router_rebuild_descriptor (router.c:1947)
==7518== by 0x45A4E2: router_get_my_routerinfo (router.c:1707)
==7518== by 0x45A922: router_orport_found_reachable (router.c:1205)
==7518== by 0x48CC94: onionskin_answer (circuitbuild.c:1298)
==7518== by 0x4C9EAF: connection_cpu_process_inbuf (cpuworker.c:370)
==7518== by 0x4B38D7: connection_handle_read (connection.c:3171)
==7518== by 0x42E975: conn_read_callback (main.c:735)
==7518== 320 bytes in 1 blocks are definitely lost in loss record 21 of 32
==7518== at 0x4C244E8: malloc (vg_replace_malloc.c:236)
==7518== by 0x501A87: tor_malloc_ (util.c:162)
==7518== by 0x46B9FA: router_get_dirobj_signature (routerparse.c:667)
==7518== by 0x46BB0B: router_append_dirobj_signature (routerparse.c:704)
==7518== by 0x4585EE: extrainfo_dump_to_string (router.c:2684)
==7518== by 0x45A067: router_rebuild_descriptor (router.c:1947)
==7518== by 0x45AA10: consider_publishable_server (router.c:1471)
==7518== by 0x42FA59: second_elapsed_callback (main.c:1424)
==7518== by 0x52C9343: event_base_loop (in /usr/lib/libevent-1.4.so.2.1.3)
==7518== by 0x42C2B0: do_main_loop (main.c:2009)
==7518== by 0x42D034: tor_main (main.c:2882)
==7518== by 0x5EFEC8C: (below main) (libc-start.c:228)