aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/path.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/path.c')
-rw-r--r--src/nvim/path.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/nvim/path.c b/src/nvim/path.c
index 3d1def8dd4..cdb16dbef1 100644
--- a/src/nvim/path.c
+++ b/src/nvim/path.c
@@ -398,8 +398,12 @@ char *concat_fnames_realloc(char *fname1, const char *fname2, bool sep)
void add_pathsep(char *p)
FUNC_ATTR_NONNULL_ALL
{
- if (*p != NUL && !after_pathsep(p, p + strlen(p)))
- strcat(p, PATHSEPSTR);
+ const size_t len = strlen(p);
+ const size_t pathsep_len = sizeof(PATHSEPSTR);
+ assert(len < MAXPATHL - pathsep_len);
+ if (*p != NUL && !after_pathsep(p, p + len)) {
+ memcpy(p + len, PATHSEPSTR, pathsep_len);
+ }
}
/// Get an allocated copy of the full path to a file.