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).