Mercurial > vim
diff src/ops.c @ 8863:e1b84109506a v7.4.1719
commit https://github.com/vim/vim/commit/107e1eef1df3b786ad3ad49fbdb9e058649303b5
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Apr 8 17:07:19 2016 +0200
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.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Fri, 08 Apr 2016 17:15:06 +0200 |
parents | 6a1becf4f282 |
children | e600e696c0a1 |
line wrap: on
line diff
--- a/src/ops.c +++ b/src/ops.c @@ -6391,7 +6391,7 @@ getreg_wrap_one_line(char_u *s, int flag { if (list_append_string(list, NULL, -1) == FAIL) { - list_free(list, TRUE); + list_free(list); return NULL; } list->lv_first->li_tv.vval.v_string = s; @@ -6465,7 +6465,7 @@ get_reg_contents(int regname, int flags) error = TRUE; if (error) { - list_free(list, TRUE); + list_free(list); return NULL; } return (char_u *)list;