diff options
author | oni-link <knil.ino@gmail.com> | 2015-08-05 07:54:44 +0200 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2015-08-05 11:17:08 -0400 |
commit | b732a27c4e568ff0d56c74348e1c3fdf38364b81 (patch) | |
tree | 38fab29a7027b2962dc0a799ad2a0da0908d4fbc /test/functional/eval/msgpack_functions_spec.lua | |
parent | 2e1a80563b56ecfee0306bf724b264115ca751a1 (diff) | |
download | rneovim-b732a27c4e568ff0d56c74348e1c3fdf38364b81.tar.gz rneovim-b732a27c4e568ff0d56c74348e1c3fdf38364b81.tar.bz2 rneovim-b732a27c4e568ff0d56c74348e1c3fdf38364b81.zip |
channel.c: Only free a channel after close callbacks are executed #3132
parse_msgpack() closes a channel's stream on EOF error and the stream's
close callback close_cb() is queued for the next libuv loop iteration.
When parse_msgpack() returns, it has freed the channel and the queued
stream callback will access this freed memory.
To prevent this, increase the channel's reference count and let the
stream's close callback call decref().
Fixes #3128
Diffstat (limited to 'test/functional/eval/msgpack_functions_spec.lua')
0 files changed, 0 insertions, 0 deletions