From 64b3411dbe1b7e7fa59f791ad43fe71ab61d1df5 Mon Sep 17 00:00:00 2001 From: Lubomir Rintel Date: Wed, 5 Jun 2024 14:43:43 +0200 Subject: [PATCH] nmcli: always clean up readline on exit A signal handler is not the only place where we need to clean up after an in-progress readline() on exit; we may do so when erroring out as well: Before (not also the missing line break, which is part of the cleanup): $ (sleep 10; nmcli c del 'Red Hat Wi-Fi') $ nmcli --ask d wifi connect 'Red Hat Wi-Fi' Passwords or encryption keys are required to access the wireless network 'Red Hat Wi-Fi'. Password (802-11-wireless-security.psk): Error: Connection activation failed: The device's active connection disappeared. $ [terminal messed up, no echo] After: $ (sleep 10; nmcli c del 'Red Hat Wi-Fi') $ nmcli --ask d wifi connect 'Red Hat Wi-Fi' Passwords or encryption keys are required to access the wireless network 'Red Hat Wi-Fi'. Password (802-11-wireless-security.psk): Error: Connection activation failed: The device's active connection disappeared. $ hello [terminal echo fine, wheee] --- src/nmcli/nmcli.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/nmcli/nmcli.c b/src/nmcli/nmcli.c index a8eb732c53..e3ed842812 100644 --- a/src/nmcli/nmcli.c +++ b/src/nmcli/nmcli.c @@ -1044,6 +1044,8 @@ main(int argc, char *argv[]) if (process_command_line(&nm_cli, argc, argv)) g_main_loop_run(loop); + nmc_cleanup_readline(); + if (nm_cli.complete) { /* Remove error statuses from command completion runs. */ if (nm_cli.return_value < NMC_RESULT_COMPLETE_FILE)