- free command if it is the empty string - free command before calling bound function, in case bound function does not return, like rl_abort --- lib/readline/text.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/lib/readline/text.c b/lib/readline/text.c index c5281efe..5941b1a2 100644 --- a/lib/readline/text.c +++ b/lib/readline/text.c @@ -2354,9 +2354,11 @@ rl_execute_named_command (int count, int key) int r; command = _rl_read_command_name (); - if (command == 0 || *command == '\0') + if (command == 0) return 1; - if (func = rl_named_function (command)) + func = rl_named_function (command); + free (command); + if (func) { int prev, ostate; @@ -2375,6 +2377,5 @@ rl_execute_named_command (int count, int key) r = 1; } - free (command); return r; } -- 2.45.1