Do not try to send remaining data on a closed socket

Fixes #2906
This commit is contained in:
Maxime Coste 2019-05-23 12:41:31 +10:00
parent 2bef1f1eb8
commit a1f0bae53a
2 changed files with 4 additions and 1 deletions

View File

@ -148,6 +148,7 @@ StringView homedir()
bool fd_readable(int fd) bool fd_readable(int fd)
{ {
kak_assert(fd >= 0);
fd_set rfds; fd_set rfds;
FD_ZERO(&rfds); FD_ZERO(&rfds);
FD_SET(fd, &rfds); FD_SET(fd, &rfds);
@ -158,6 +159,7 @@ bool fd_readable(int fd)
bool fd_writable(int fd) bool fd_writable(int fd)
{ {
kak_assert(fd >= 0);
fd_set wfds; fd_set wfds;
FD_ZERO(&wfds); FD_ZERO(&wfds);
FD_SET(fd, &wfds); FD_SET(fd, &wfds);

View File

@ -439,7 +439,8 @@ RemoteUI::~RemoteUI()
// Try to send the remaining data if possible, as it might contain the desired exit status // Try to send the remaining data if possible, as it might contain the desired exit status
try try
{ {
send_data(m_socket_watcher.fd(), m_send_buffer); if (m_socket_watcher.fd() != -1)
send_data(m_socket_watcher.fd(), m_send_buffer);
} }
catch (disconnected&) catch (disconnected&)
{ {