memory leak in connection_handle_listener_read()
Running my Tor relay under valgrind with all the config options that Yawning's sandboxed Tor Browser turns on, I see:
==18287== 70,128 bytes in 8,766 blocks are definitely lost in loss record 64 of 64
==18287== at 0x4C28C20: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==18287== by 0x62AF989: strdup (strdup.c:42)
==18287== by 0x26329D: tor_strdup_ (util.c:288)
==18287== by 0x251013: tor_addr_to_str_dup (address.c:1209)
==18287== by 0x202245: connection_handle_listener_read (connection.c:1598)
==18287== by 0x2025BC: connection_handle_read_impl (connection.c:3344)
==18287== by 0x14B160: conn_read_callback (main.c:694)
==18287== by 0x53613DB: event_base_loop (in /usr/lib/x86_64-linux-gnu/libevent-2.0.so.5.1.9)
==18287== by 0x14C1E3: run_main_loop_once (main.c:2385)
==18287== by 0x14C1E3: run_main_loop_until_done (main.c:2429)
==18287== by 0x14C1E3: do_main_loop (main.c:2357)
==18287== by 0x14F934: tor_main (main.c:3486)
==18287== by 0x147AC8: main (tor_main.c:34)
(This is the Tor from my bug20423 branch, which is commit caf742287 from close to the edge of maint-0.2.9 plus two hopefully irrelevant commits -- so I am calling the version 0.2.9.5-alpha.)