# HG changeset patch # User Christian Brabandt # Date 1522753207 -7200 # Node ID 97720d9a01d44626adb5a2c0c147a6a9e2260e61 # Parent 5ec18e517884963c9fc53bf47629881ccb3cda90 patch 8.0.1657: crash when reading a channel commit https://github.com/vim/vim/commit/9af9778209cd0cbb284f6ff7e88f707418089975 Author: Bram Moolenaar Date: Tue Apr 3 12:51:01 2018 +0200 patch 8.0.1657: crash when reading a channel Problem: Crash when reading a channel. Solution: Clear the write flag before writing. (idea by Shinya Ohyanagi, closes #2769). diff --git a/src/channel.c b/src/channel.c --- a/src/channel.c +++ b/src/channel.c @@ -4150,8 +4150,9 @@ channel_select_check(int ret_in, void *r if (ret > 0 && in_part->ch_fd != INVALID_FD && FD_ISSET(in_part->ch_fd, wfds)) { + /* Clear the flag first, ch_fd may change in channel_write_input(). */ + FD_CLR(in_part->ch_fd, wfds); channel_write_input(channel); - FD_CLR(in_part->ch_fd, wfds); --ret; } } diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -763,6 +763,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1657, +/**/ 1656, /**/ 1655,