diff options
author | Bram Moolenaar <Bram@vim.org> | 2018-10-11 19:27:47 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2018-10-11 19:27:47 +0200 |
commit | 3d6014f0336d9a64c01a7518fe45fde0a925fa20 (patch) | |
tree | 7961f41f09ee54c2c240abac007ab9779709bb13 /src/ex_cmds.c | |
parent | 108e7b422b7b59153dd5af1fb75e83fa36ff3db4 (diff) |
patch 8.1.0470: pointer ownership around fname_expand() is unclearv8.1.0470
Problem: Pointer ownership around fname_expand() is unclear.
Solution: Allow b_ffname and b_sfname to point to the same allocated memory,
only free one. Update comments.
Diffstat (limited to 'src/ex_cmds.c')
-rw-r--r-- | src/ex_cmds.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/ex_cmds.c b/src/ex_cmds.c index 0a5387c52b..7512785c9b 100644 --- a/src/ex_cmds.c +++ b/src/ex_cmds.c @@ -3648,8 +3648,8 @@ check_readonly(int *forceit, buf_T *buf) } /* - * Try to abandon current file and edit a new or existing file. - * "fnum" is the number of the file, if zero use ffname/sfname. + * Try to abandon the current file and edit a new or existing file. + * "fnum" is the number of the file, if zero use "ffname_arg"/"sfname_arg". * "lnum" is the line number for the cursor in the new file (if non-zero). * * Return: @@ -3661,12 +3661,14 @@ check_readonly(int *forceit, buf_T *buf) int getfile( int fnum, - char_u *ffname, - char_u *sfname, + char_u *ffname_arg, + char_u *sfname_arg, int setpm, linenr_T lnum, int forceit) { + char_u *ffname = ffname_arg; + char_u *sfname = sfname_arg; int other; int retval; char_u *free_me = NULL; |