diff options
author | Michael Ennen <mike.ennen@gmail.com> | 2016-10-30 15:10:11 -0700 |
---|---|---|
committer | James McCoy <jamessan@jamessan.com> | 2016-12-12 10:17:35 -0500 |
commit | 25438f149fda66375ed54a735e4477f3f4d87338 (patch) | |
tree | f36858650c2adeee6e2b6aa1f305badf054614f1 /src/nvim/api/private/helpers.c | |
parent | e97e24c77e70ec8bdaca51b0b477ca0c38ea35e0 (diff) | |
download | rneovim-25438f149fda66375ed54a735e4477f3f4d87338.tar.gz rneovim-25438f149fda66375ed54a735e4477f3f4d87338.tar.bz2 rneovim-25438f149fda66375ed54a735e4477f3f4d87338.zip |
vim-patch:7.4.1719
Problem: Leaking memory when there is a cycle involving a job and a
partial.
Solution: Add a copyID to job and channel. Set references in items referred
by them. Go through all jobs and channels to find unreferenced
items. Also, decrement reference counts when garbage collecting.
https://github.com/vim/vim/commit/107e1eef1df3b786ad3ad49fbdb9e058649303b5
Diffstat (limited to 'src/nvim/api/private/helpers.c')
-rw-r--r-- | src/nvim/api/private/helpers.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/nvim/api/private/helpers.c b/src/nvim/api/private/helpers.c index 0acdff3232..b004cfc7a1 100644 --- a/src/nvim/api/private/helpers.c +++ b/src/nvim/api/private/helpers.c @@ -657,7 +657,7 @@ bool object_to_vim(Object obj, typval_T *tv, Error *err) if (!object_to_vim(item, &li->li_tv, err)) { // cleanup listitem_free(li); - list_free(list, true); + list_free(list); return false; } @@ -681,7 +681,7 @@ bool object_to_vim(Object obj, typval_T *tv, Error *err) api_set_error(err, Validation, _("Empty dictionary keys aren't allowed")); // cleanup - dict_free(dict, true); + dict_free(dict); return false; } @@ -690,7 +690,7 @@ bool object_to_vim(Object obj, typval_T *tv, Error *err) if (!object_to_vim(item.value, &di->di_tv, err)) { // cleanup dictitem_free(di); - dict_free(dict, true); + dict_free(dict); return false; } |