From 7558f42f7d9900d37a1915ce78f1102ee251d420 Mon Sep 17 00:00:00 2001 From: James McCoy Date: Mon, 28 Mar 2016 09:47:46 -0400 Subject: vim-patch:7.4.1654 Problem: Crash when using expand('%:S') in a buffer without a name. Solution: Don't set a NUL. (James McCoy, closes vim/vim#714) https://github.com/vim/vim/commit/52c6eaffd43a8c8865f8d6ed7cde0a8b137479e2 --- src/nvim/eval.c | 8 ++++++-- src/nvim/version.c | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/nvim/eval.c b/src/nvim/eval.c index fbde845f47..3c67625d1c 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -21995,9 +21995,13 @@ repeat: if (src[*usedlen] == ':' && src[*usedlen + 1] == 'S') { // vim_strsave_shellescape() needs a NUL terminated string. c = (*fnamep)[*fnamelen]; - (*fnamep)[*fnamelen] = NUL; + if (c != NUL) { + (*fnamep)[*fnamelen] = NUL; + } p = vim_strsave_shellescape(*fnamep, false, false); - (*fnamep)[*fnamelen] = c; + if (c != NUL) { + (*fnamep)[*fnamelen] = c; + } xfree(*bufp); *bufp = *fnamep = p; *fnamelen = STRLEN(p); diff --git a/src/nvim/version.c b/src/nvim/version.c index bab3d1573a..8cd0a13363 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -69,6 +69,7 @@ static char *features[] = { // clang-format off static int included_patches[] = { + 1654, 1652, 1643, 1641, -- cgit