From 5369b0c7eac1711653aeecb8fcb8ca3a5f5fdfc1 Mon Sep 17 00:00:00 2001 From: ZyX Date: Mon, 23 Jan 2017 02:05:17 +0300 Subject: coverity/155511: Pass correct length argument to strncat() --- src/nvim/ex_cmds.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/nvim/ex_cmds.c') diff --git a/src/nvim/ex_cmds.c b/src/nvim/ex_cmds.c index 69eed33736..da629cd4a1 100644 --- a/src/nvim/ex_cmds.c +++ b/src/nvim/ex_cmds.c @@ -1408,8 +1408,8 @@ char_u *make_filter_cmd(char_u *cmd, char_u *itmp, char_u *otmp) } if (itmp != NULL) { - strncat(buf, " < ", len); - strncat(buf, (char *) itmp, len); + strncat(buf, " < ", len - 1); + strncat(buf, (const char *)itmp, len - 1); } #else // For shells that don't understand braces around commands, at least allow -- cgit From 61e04cae752578a959152b12f5ce8be4b54ff599 Mon Sep 17 00:00:00 2001 From: ZyX Date: Mon, 23 Jan 2017 02:09:59 +0300 Subject: ex_cmds: Also pass correct length in windows code --- src/nvim/ex_cmds.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'src/nvim/ex_cmds.c') diff --git a/src/nvim/ex_cmds.c b/src/nvim/ex_cmds.c index da629cd4a1..cf711552be 100644 --- a/src/nvim/ex_cmds.c +++ b/src/nvim/ex_cmds.c @@ -1416,24 +1416,22 @@ char_u *make_filter_cmd(char_u *cmd, char_u *itmp, char_u *otmp) // the use of commands in a pipe. strncpy(buf, cmd, len); if (itmp != NULL) { - char_u *p; - // If there is a pipe, we have to put the '<' in front of it. // Don't do this when 'shellquote' is not empty, otherwise the // redirection would be inside the quotes. if (*p_shq == NUL) { - p = strchr(buf, '|'); + char *const p = strchr(buf, '|'); if (p != NULL) { *p = NUL; } } strncat(buf, " < ", len); - strncat(buf, (char *) itmp, len); + strncat(buf, (const char *)itmp, len); if (*p_shq == NUL) { - p = strchr(cmd, '|'); + const char *const p = strchr((const char *)cmd, '|'); if (p != NULL) { - strncat(buf, " ", len); // Insert a space before the '|' for DOS - strncat(buf, p, len); + strncat(buf, " ", len - 1); // Insert a space before the '|' for DOS + strncat(buf, p, len - 1); } } } -- cgit