To: vim_dev@googlegroups.com Subject: Patch 8.2.2953 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.2.2953 (after 8.2.2951) Problem: Vim9: leaking memory when using heredoc script. Solution: Free the first line. Files: src/vim9execute.c *** ../vim-8.2.2952/src/vim9execute.c 2021-06-06 17:02:49.753789485 +0200 --- src/vim9execute.c 2021-06-06 17:32:14.461252857 +0200 *************** *** 1460,1476 **** case ISN_EXEC_SPLIT: { source_cookie_T cookie; SOURCING_LNUM = iptr->isn_lnum; CLEAR_FIELD(cookie); cookie.sourcing_lnum = iptr->isn_lnum - 1; cookie.nextline = iptr->isn_arg.string; ! if (do_cmdline(get_split_sourceline(0, &cookie, 0, 0), get_split_sourceline, &cookie, DOCMD_VERBOSE|DOCMD_NOWAIT|DOCMD_KEYTYPED) == FAIL || did_emsg) goto on_error; } break; --- 1460,1482 ---- case ISN_EXEC_SPLIT: { source_cookie_T cookie; + char_u *line; SOURCING_LNUM = iptr->isn_lnum; CLEAR_FIELD(cookie); cookie.sourcing_lnum = iptr->isn_lnum - 1; cookie.nextline = iptr->isn_arg.string; ! line = get_split_sourceline(0, &cookie, 0, 0); ! if (do_cmdline(line, get_split_sourceline, &cookie, DOCMD_VERBOSE|DOCMD_NOWAIT|DOCMD_KEYTYPED) == FAIL || did_emsg) + { + vim_free(line); goto on_error; + } + vim_free(line); } break; *** ../vim-8.2.2952/src/version.c 2021-06-06 17:12:43.204322378 +0200 --- src/version.c 2021-06-06 17:33:59.248975098 +0200 *************** *** 752,753 **** --- 752,755 ---- { /* Add new patch number below this line */ + /**/ + 2953, /**/ -- God made machine language; all the rest is the work of man. /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// \\\ \\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///