aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api/private/helpers.c
diff options
context:
space:
mode:
authorMichael Ennen <mike.ennen@gmail.com>2016-10-30 15:10:11 -0700
committerJames McCoy <jamessan@jamessan.com>2016-12-12 10:17:35 -0500
commit25438f149fda66375ed54a735e4477f3f4d87338 (patch)
treef36858650c2adeee6e2b6aa1f305badf054614f1 /src/nvim/api/private/helpers.c
parente97e24c77e70ec8bdaca51b0b477ca0c38ea35e0 (diff)
downloadrneovim-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.c6
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;
}