aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Hillegeer <nicolas@hillegeer.com>2014-07-22 14:46:59 +0200
committerThiago de Arruda <tpadilha84@gmail.com>2014-07-27 14:00:44 -0300
commit891b4b9d2b93b5d76ec3820f7474b416e422417a (patch)
tree67d3c9dbaab8a43b3162af46085f11710c6b736f
parent06cc046e30936cc78fb4c3ca03b7e4333bf397f8 (diff)
downloadrneovim-891b4b9d2b93b5d76ec3820f7474b416e422417a.tar.gz
rneovim-891b4b9d2b93b5d76ec3820f7474b416e422417a.tar.bz2
rneovim-891b4b9d2b93b5d76ec3820f7474b416e422417a.zip
wstream: allow empty release wbuffer cb
Sometimes a wbuffer is not supposed to be free()'d (such as when it comes from a constant (possibly static) string, for example.
-rw-r--r--src/nvim/os/wstream.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/nvim/os/wstream.c b/src/nvim/os/wstream.c
index 3886085a3b..194bf757e4 100644
--- a/src/nvim/os/wstream.c
+++ b/src/nvim/os/wstream.c
@@ -204,7 +204,10 @@ static void write_cb(uv_write_t *req, int status)
static void release_wbuffer(WBuffer *buffer)
{
if (!--buffer->refcount) {
- buffer->cb(buffer->data);
+ if (buffer->cb) {
+ buffer->cb(buffer->data);
+ }
+
free(buffer);
}
}