diff options
-rw-r--r-- | src/channel.c | 9 | ||||
-rw-r--r-- | src/edit.c | 2 | ||||
-rw-r--r-- | src/farsi.c | 2 | ||||
-rw-r--r-- | src/version.c | 2 |
4 files changed, 11 insertions, 4 deletions
diff --git a/src/channel.c b/src/channel.c index 410f92800..54a141c7d 100644 --- a/src/channel.c +++ b/src/channel.c @@ -2571,9 +2571,14 @@ may_invoke_callback(channel_T *channel, ch_part_T part) if (nl == NULL) { /* Flush remaining message that is missing a NL. */ - buf = vim_realloc(buf, node->rq_buflen + 1); - if (buf == NULL) + char_u *new_buf; + + new_buf = vim_realloc(buf, node->rq_buflen + 1); + if (new_buf == NULL) + /* This might fail over and over again, should the message + * be dropped? */ return FALSE; + buf = new_buf; node->rq_buffer = buf; nl = buf + node->rq_buflen++; *nl = NUL; diff --git a/src/edit.c b/src/edit.c index ad8b89a95..0153f3b9d 100644 --- a/src/edit.c +++ b/src/edit.c @@ -9524,7 +9524,7 @@ bracketed_paste(paste_mode_T mode, int drop, garray_T *gap) #endif buf[idx++] = c; buf[idx] = NUL; - if (end != NUL && STRNCMP(buf, end, idx) == 0) + if (end != NULL && STRNCMP(buf, end, idx) == 0) { if (end[idx] == NUL) break; /* Found the end of paste code. */ diff --git a/src/farsi.c b/src/farsi.c index bac15109e..ebed47e6e 100644 --- a/src/farsi.c +++ b/src/farsi.c @@ -1695,7 +1695,7 @@ conv_to_pvim(void) ptr[i] = toF_leading(ptr[i]); ++i; - while (canF_Rjoin(ptr[i]) && i < llen) + while (i < llen && canF_Rjoin(ptr[i])) { ptr[i] = toF_Rjoin(ptr[i]); if (F_isterm(ptr[i]) || !F_isalpha(ptr[i])) diff --git a/src/version.c b/src/version.c index 4e37cf310..9db3ea007 100644 --- a/src/version.c +++ b/src/version.c @@ -765,6 +765,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 544, +/**/ 543, /**/ 542, |