memory leak in parse_protocol_list
Running moria1 under valgrind, because all the dir auths have been OOMing lately, in hopes of finding the problem in action. Here's a promising one:
==41941== 48,407,360 (411,776 direct, 47,995,584 indirect) bytes in 25,736 blocks are definitely lost in loss record 79 of 79
==41941== at 0x4A06A2E: malloc (vg_replace_malloc.c:270)
==41941== by 0x2A8457: tor_malloc_ (util.c:150)
==41941== by 0x299B6E: smartlist_new (container.c:34)
==41941== by 0x172011: parse_protocol_list (protover.c:250)
==41941== by 0x172108: protover_contains_long_protocol_names (protover.c:286)
==41941== by 0x1C6CC1: dirserv_generate_networkstatus_vote_obj (dirvote.c:4378)
==41941== by 0x1CDB1A: dirvote_act (dirvote.c:2893)
==41941== by 0x15BDDA: dirvote_callback (main.c:2006)
==41941== by 0x17153B: periodic_event_dispatch (periodic.c:55)
==41941== by 0x50C6F8B: event_base_loop (in /usr/lib64/libevent-2.0.so.5.1.9)
==41941== by 0x15B7EB: do_main_loop (main.c:3011)
==41941== by 0x15BC1B: tor_run_main (main.c:4283)