diff options
author | Bram Moolenaar <Bram@vim.org> | 2019-07-08 22:04:03 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2019-07-08 22:04:03 +0200 |
commit | 0d07155c8bbaca1a527b79da358438253a60839f (patch) | |
tree | 427f6db1a6aa7733efb90bb0387615791b65255b /src/channel.c | |
parent | 49fe95f22517b775506ef34681000d84bb417eb3 (diff) | |
download | vim-git-0d07155c8bbaca1a527b79da358438253a60839f.tar.gz |
patch 8.1.1653: ubsan warns for possibly passing NULL pointerv8.1.1653
Problem: Ubsan warns for possibly passing NULL pointer.
Solution: Skip code when length is zero. (Dominique Pelle, closes #4631)
Diffstat (limited to 'src/channel.c')
-rw-r--r-- | src/channel.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/channel.c b/src/channel.c index eb5af0aa4..5d1b83aaf 100644 --- a/src/channel.c +++ b/src/channel.c @@ -3990,7 +3990,7 @@ channel_send( writeq_T *last = wq->wq_prev; /* append to the last entry */ - if (ga_grow(&last->wq_ga, len) == OK) + if (len > 0 && ga_grow(&last->wq_ga, len) == OK) { mch_memmove((char *)last->wq_ga.ga_data + last->wq_ga.ga_len, @@ -4012,7 +4012,7 @@ channel_send( wq->wq_prev->wq_next = last; wq->wq_prev = last; ga_init2(&last->wq_ga, 1, 1000); - if (ga_grow(&last->wq_ga, len) == OK) + if (len > 0 && ga_grow(&last->wq_ga, len) == OK) { mch_memmove(last->wq_ga.ga_data, buf, len); last->wq_ga.ga_len = len; |