diff options
| author | Justin M. Keyes <justinkz@gmail.com> | 2015-10-01 13:19:49 -0400 | 
|---|---|---|
| committer | Justin M. Keyes <justinkz@gmail.com> | 2015-10-01 13:19:49 -0400 | 
| commit | bb5bf96839239f83e5db4b5f34d13acea0e9cbe7 (patch) | |
| tree | 6d26ee1661b81f59f3d96645575ed2809e38ec19 /src | |
| parent | bb155564d91d6ccc965a83efa977636ea322582c (diff) | |
| parent | 0320d86d3bc3967c05677e34a81027ce7fb48551 (diff) | |
| download | rneovim-bb5bf96839239f83e5db4b5f34d13acea0e9cbe7.tar.gz rneovim-bb5bf96839239f83e5db4b5f34d13acea0e9cbe7.tar.bz2 rneovim-bb5bf96839239f83e5db4b5f34d13acea0e9cbe7.zip  | |
Merge pull request #3407 from oni-link/fix.ga_concat
garray.c: Prevent ga_concat() using memcpy(NULL,...)
Diffstat (limited to 'src')
| -rw-r--r-- | src/nvim/garray.c | 10 | 
1 files changed, 6 insertions, 4 deletions
diff --git a/src/nvim/garray.c b/src/nvim/garray.c index 953eb58841..75c3fb9a73 100644 --- a/src/nvim/garray.c +++ b/src/nvim/garray.c @@ -184,10 +184,12 @@ char_u* ga_concat_strings(const garray_T *gap) FUNC_ATTR_NONNULL_RET  void ga_concat(garray_T *gap, const char_u *restrict s)  {    int len = (int)strlen((char *) s); -  ga_grow(gap, len); -  char *data = gap->ga_data; -  memcpy(data + gap->ga_len, s, (size_t) len); -  gap->ga_len += len; +  if (len) { +    ga_grow(gap, len); +    char *data = gap->ga_data; +    memcpy(data + gap->ga_len, s, (size_t)len); +    gap->ga_len += len; +  }  }  /// Append one byte to a growarray which contains bytes.  | 
