Actually, there are more leaks in execute_cmd.c, I'm just going to list them here.
------------------------------------------------------------------------------- hp% ./bash -c '(:)' ================================================================= ==7854==ERROR: LeakSanitizer: detected memory leaks Direct leak of 6 byte(s) in 1 object(s) allocated from: #0 0x7fb0c2580d28 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.3+0xc1d28) #1 0x562cb665d6cb in xmalloc /home/dualbus/local/src/gnu/bash/xmalloc.c:112 #2 0x562cb658ab1c in execute_command_internal /home/dualbus/local/src/gnu/bash/execute_cmd.c:610 #3 0x562cb666e900 in parse_and_execute /home/dualbus/local/src/gnu/bash/builtins/evalstring.c:443 #4 0x562cb655797f in run_one_command /home/dualbus/local/src/gnu/bash/shell.c:1399 #5 0x562cb6555eaa in main /home/dualbus/local/src/gnu/bash/shell.c:724 #6 0x7fb0c1d132b0 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x202b0) SUMMARY: AddressSanitizer: 6 byte(s) leaked in 1 allocation(s). ------------------------------------------------------------------------------- hp% ./bash -c 'coproc :; sleep 1' ================================================================= ==8716==ERROR: LeakSanitizer: detected memory leaks Direct leak of 16 byte(s) in 1 object(s) allocated from: #0 0x7fc17740ad28 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.3+0xc1d28) #1 0x55d4b48826cb in xmalloc /home/dualbus/local/src/gnu/bash/xmalloc.c:112 #2 0x55d4b47b72c6 in execute_coproc /home/dualbus/local/src/gnu/bash/execute_cmd.c:2301 #3 0x55d4b47af935 in execute_command_internal /home/dualbus/local/src/gnu/bash/execute_cmd.c:593 #4 0x55d4b47af0fb in execute_command /home/dualbus/local/src/gnu/bash/execute_cmd.c:405 #5 0x55d4b47b8f54 in execute_connection /home/dualbus/local/src/gnu/bash/execute_cmd.c:2609 #6 0x55d4b47b16e9 in execute_command_internal /home/dualbus/local/src/gnu/bash/execute_cmd.c:971 #7 0x55d4b4893900 in parse_and_execute /home/dualbus/local/src/gnu/bash/builtins/evalstring.c:443 #8 0x55d4b477c97f in run_one_command /home/dualbus/local/src/gnu/bash/shell.c:1399 #9 0x55d4b477aeaa in main /home/dualbus/local/src/gnu/bash/shell.c:724 #10 0x7fc176b9d2b0 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x202b0) SUMMARY: AddressSanitizer: 16 byte(s) leaked in 1 allocation(s). ------------------------------------------------------------------------------- hp% ./bash -c '::; :' ./bash: ::: command not found ================================================================= ==10176==ERROR: LeakSanitizer: detected memory leaks Direct leak of 3 byte(s) in 1 object(s) allocated from: #0 0x7f003afe5d28 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.3+0xc1d28) #1 0x561a310216cb in xmalloc /home/dualbus/local/src/gnu/bash/xmalloc.c:112 #2 0x561a30f641b3 in execute_disk_command /home/dualbus/local/src/gnu/bash/execute_cmd.c:5194 #3 0x561a30f61b01 in execute_simple_command /home/dualbus/local/src/gnu/bash/execute_cmd.c:4403 #4 0x561a30f4f914 in execute_command_internal /home/dualbus/local/src/gnu/bash/execute_cmd.c:802 #5 0x561a30f4e0fb in execute_command /home/dualbus/local/src/gnu/bash/execute_cmd.c:405 #6 0x561a30f57f54 in execute_connection /home/dualbus/local/src/gnu/bash/execute_cmd.c:2609 #7 0x561a30f506e9 in execute_command_internal /home/dualbus/local/src/gnu/bash/execute_cmd.c:971 #8 0x561a31032900 in parse_and_execute /home/dualbus/local/src/gnu/bash/builtins/evalstring.c:443 #9 0x561a30f1b97f in run_one_command /home/dualbus/local/src/gnu/bash/shell.c:1399 #10 0x561a30f19eaa in main /home/dualbus/local/src/gnu/bash/shell.c:724 #11 0x7f003a7782b0 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x202b0) SUMMARY: AddressSanitizer: 3 byte(s) leaked in 1 allocation(s). -- Eduardo Bustamante https://dualbus.me/