From 671d4ef33702eeb8be9a26f68dd295b878cc94b2 Mon Sep 17 00:00:00 2001 From: XANTRONIX Development Date: Sun, 2 Aug 2020 01:11:53 -0400 Subject: [PATCH] Don't tcsetattr() ptmx in patty_kiss_tnc_destroy() Avoid tcsetattr() on a ptmx in patty_kiss_tnc_destroy(), as the old attributes are not saved when opening a Unix98 PTY master --- src/kiss.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/kiss.c b/src/kiss.c index 009f76e..9825ca7 100644 --- a/src/kiss.c +++ b/src/kiss.c @@ -144,7 +144,9 @@ int patty_kiss_tnc_fd(patty_kiss_tnc *tnc) { } void patty_kiss_tnc_destroy(patty_kiss_tnc *tnc) { - (void)tcsetattr(tnc->fd, TCSANOW, &tnc->attrs_old); + if (isatty(tnc->fd) && ptsname(tnc->fd) == NULL) { + (void)tcsetattr(tnc->fd, TCSANOW, &tnc->attrs_old); + } if (tnc->opts & TNC_CLOSE_ON_DESTROY) { close(tnc->fd);