aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2017-09-05 19:16:40 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2017-09-05 19:16:40 +0200
commit9d858f5717cfc261d2ee80efff954acd7b1e5c00 (patch)
tree39258fa1531360e9bcc65cdb49b25684e49e7783
parent94aaf4b5d3c649a281299aedba08ce1939780fb4 (diff)
downloadbusybox-9d858f5717cfc261d2ee80efff954acd7b1e5c00.tar.gz
chat: do not die when HANGUP param is missing. Closes 10016
function old new delta chat_main 1356 1379 +23 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--miscutils/chat.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/miscutils/chat.c b/miscutils/chat.c
index 1446a040c..2dfe52c4f 100644
--- a/miscutils/chat.c
+++ b/miscutils/chat.c
@@ -238,10 +238,18 @@ int chat_main(int argc UNUSED_PARAM, char **argv)
, *argv
);
if (key >= 0) {
+ bool onoff;
// cache directive value
char *arg = *++argv;
+
+ if (!arg) {
+#if ENABLE_FEATURE_CHAT_TTY_HIFI
+ tcsetattr(STDIN_FILENO, TCSAFLUSH, &tio0);
+#endif
+ bb_show_usage();
+ }
// OFF -> 0, anything else -> 1
- bool onoff = (0 != strcmp("OFF", arg));
+ onoff = (0 != strcmp("OFF", arg));
// process directive
if (DIR_HANGUP == key) {
// turn SIGHUP on/off