Thanks, the latest commit no longer crashes on any of the malformed input files.
There's still a memory leak I hadn't noticed before: dualbus@debian:~/src/gnu/bash$ ./bash bash-4.4$ bind '\xx":""' bash-4.4$ exit ================================================================= ==27221==ERROR: LeakSanitizer: detected memory leaks Direct leak of 1 byte(s) in 1 object(s) allocated from: #0 0x7fb6f4005d28 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.3+0xc1d28) #1 0x55bde930f53f in xmalloc /home/dualbus/src/gnu/bash/xmalloc.c:112 #2 0x55bde939a4ff in rl_macro_bind /home/dualbus/src/gnu/bash/lib/readline/bind.c:308 #3 0x55bde93a0445 in rl_parse_and_bind /home/dualbus/src/gnu/bash/lib/readline/bind.c:1461 #4 0x55bde931059d in bind_builtin bind.def:282 #5 0x55bde924993a in execute_builtin /home/dualbus/src/gnu/bash/execute_cmd.c:4605 #6 0x55bde924b550 in execute_builtin_or_function /home/dualbus/src/gnu/bash/execute_cmd.c:5103 #7 0x55bde9248dd0 in execute_simple_command /home/dualbus/src/gnu/bash/execute_cmd.c:4391 #8 0x55bde9236ccf in execute_command_internal /home/dualbus/src/gnu/bash/execute_cmd.c:811 #9 0x55bde9235402 in execute_command /home/dualbus/src/gnu/bash/execute_cmd.c:393 #10 0x55bde9205606 in reader_loop /home/dualbus/src/gnu/bash/eval.c:172 #11 0x55bde92009ed in main /home/dualbus/src/gnu/bash/shell.c:794 #12 0x7fb6f37982b0 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x202b0) SUMMARY: AddressSanitizer: 1 byte(s) leaked in 1 allocation(s).