summaryrefslogtreecommitdiff
path: root/src/channel.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-07-08 22:04:03 +0200
committerBram Moolenaar <Bram@vim.org>2019-07-08 22:04:03 +0200
commit0d07155c8bbaca1a527b79da358438253a60839f (patch)
tree427f6db1a6aa7733efb90bb0387615791b65255b /src/channel.c
parent49fe95f22517b775506ef34681000d84bb417eb3 (diff)
downloadvim-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.c4
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;