aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/rbuffer.c
diff options
context:
space:
mode:
authorJames McCoy <jamessan@jamessan.com>2016-11-28 19:30:38 -0500
committerJames McCoy <jamessan@jamessan.com>2016-11-28 19:32:39 -0500
commit80b808dbfeb14968561b6bbd2abdc77b522f262c (patch)
tree05bb08eba79569d3bcb621c93902f3fe1290abb2 /src/nvim/rbuffer.c
parent39bb43c5302310081bba1e987e1fcecf74ca6c14 (diff)
downloadrneovim-80b808dbfeb14968561b6bbd2abdc77b522f262c.tar.gz
rneovim-80b808dbfeb14968561b6bbd2abdc77b522f262c.tar.bz2
rneovim-80b808dbfeb14968561b6bbd2abdc77b522f262c.zip
rbuffer: Use xcalloc to ensure memory is initialized
Since the rbuffer contents are used by string functions (like sscan, strlen, etc.), it is not safe to use uninitialized memory. Using xcalloc ensures the string-based functions do not run past the end of the buffer. Closes #5676
Diffstat (limited to 'src/nvim/rbuffer.c')
-rw-r--r--src/nvim/rbuffer.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/nvim/rbuffer.c b/src/nvim/rbuffer.c
index a2cc432eca..111af0d0fb 100644
--- a/src/nvim/rbuffer.c
+++ b/src/nvim/rbuffer.c
@@ -18,7 +18,7 @@ RBuffer *rbuffer_new(size_t capacity)
capacity = 0x10000;
}
- RBuffer *rv = xmalloc(sizeof(RBuffer) + capacity);
+ RBuffer *rv = xcalloc(1, sizeof(RBuffer) + capacity);
rv->full_cb = rv->nonfull_cb = NULL;
rv->data = NULL;
rv->size = 0;
@@ -78,7 +78,7 @@ void rbuffer_reset(RBuffer *buf) FUNC_ATTR_NONNULL_ALL
size_t temp_size;
if ((temp_size = rbuffer_size(buf))) {
if (buf->temp == NULL) {
- buf->temp = xmalloc(rbuffer_capacity(buf));
+ buf->temp = xcalloc(1, rbuffer_capacity(buf));
}
rbuffer_read(buf, buf->temp, buf->size);
}