Memory leak in config_assign_value()
After #9644 (moved), we have at startup:
==17900== 720 (80 direct, 640 indirect) bytes in 5 blocks are definitely lost in loss record 20 of 23
==17900== at 0x4C2C5DB: malloc (vg_replace_malloc.c:270)
==17900== by 0x229F47: tor_malloc_ (util.c:144)
==17900== by 0x21E6AE: smartlist_new (container.c:34)
==17900== by 0x1BD5E9: config_assign_value (confparse.c:384)
==17900== by 0x1BDC90: config_reset (confparse.c:928)
==17900== by 0x1BF18E: config_init (confparse.c:1049)
==17900== by 0x1BB54F: options_init_from_string (config.c:4026)
==17900== by 0x1BBB7A: options_init_from_torrc (config.c:3987)
==17900== by 0x11FB51: tor_init (main.c:2413)
==17900== by 0x120BEB: tor_main (main.c:2853)
==17900== by 0x622460C: (below main) (libc-start.c:226)
==17900==
==17900== 720 (80 direct, 640 indirect) bytes in 5 blocks are definitely lost in loss record 21 of 23
==17900== at 0x4C2C5DB: malloc (vg_replace_malloc.c:270)
==17900== by 0x229F47: tor_malloc_ (util.c:144)
==17900== by 0x21E6AE: smartlist_new (container.c:34)
==17900== by 0x1BD5E9: config_assign_value (confparse.c:384)
==17900== by 0x1BE7F0: config_assign (confparse.c:529)
==17900== by 0x1BF022: config_dup (confparse.c:1025)
==17900== by 0x1BB88E: options_init_from_string (config.c:4047)
==17900== by 0x1BBB7A: options_init_from_torrc (config.c:3987)
==17900== by 0x11FB51: tor_init (main.c:2413)
==17900== by 0x120BEB: tor_main (main.c:2853)
==17900== by 0x622460C: (below main) (libc-start.c:226)