coverity/155512: Pass correct length to strncat()

References 8bc2bffda9
This commit is contained in:
Justin M. Keyes 2017-01-22 22:04:00 +01:00
parent 6be8ea0787
commit d97d66e173
2 changed files with 10 additions and 10 deletions

View File

@ -1408,8 +1408,8 @@ char_u *make_filter_cmd(char_u *cmd, char_u *itmp, char_u *otmp)
} }
if (itmp != NULL) { if (itmp != NULL) {
strncat(buf, " < ", len - 1); xstrlcat(buf, " < ", len - 1);
strncat(buf, (const char *)itmp, len - 1); xstrlcat(buf, (const char *)itmp, len - 1);
} }
#else #else
// For shells that don't understand braces around commands, at least allow // For shells that don't understand braces around commands, at least allow
@ -1425,13 +1425,13 @@ char_u *make_filter_cmd(char_u *cmd, char_u *itmp, char_u *otmp)
*p = NUL; *p = NUL;
} }
} }
strncat(buf, " < ", len); xstrlcat(buf, " < ", len);
strncat(buf, (const char *)itmp, len); xstrlcat(buf, (const char *)itmp, len);
if (*p_shq == NUL) { if (*p_shq == NUL) {
const char *const p = strchr((const char *)cmd, '|'); const char *const p = strchr((const char *)cmd, '|');
if (p != NULL) { if (p != NULL) {
strncat(buf, " ", len - 1); // Insert a space before the '|' for DOS xstrlcat(buf, " ", len - 1); // Insert a space before the '|' for DOS
strncat(buf, p, len - 1); xstrlcat(buf, p, len - 1);
} }
} }
} }

View File

@ -4982,8 +4982,8 @@ buf_check_timestamp (
set_vim_var_string(VV_WARNINGMSG, tbuf, -1); set_vim_var_string(VV_WARNINGMSG, tbuf, -1);
if (can_reload) { if (can_reload) {
if (*mesg2 != NUL) { if (*mesg2 != NUL) {
strncat(tbuf, "\n", tbuf_len - 1); xstrlcat(tbuf, "\n", tbuf_len - 1);
strncat(tbuf, mesg2, tbuf_len - 1); xstrlcat(tbuf, mesg2, tbuf_len - 1);
} }
if (do_dialog(VIM_WARNING, (char_u *) _("Warning"), (char_u *) tbuf, if (do_dialog(VIM_WARNING, (char_u *) _("Warning"), (char_u *) tbuf,
(char_u *) _("&OK\n&Load File"), 1, NULL, true) == 2) { (char_u *) _("&OK\n&Load File"), 1, NULL, true) == 2) {
@ -4991,8 +4991,8 @@ buf_check_timestamp (
} }
} else if (State > NORMAL_BUSY || (State & CMDLINE) || already_warned) { } else if (State > NORMAL_BUSY || (State & CMDLINE) || already_warned) {
if (*mesg2 != NUL) { if (*mesg2 != NUL) {
strncat(tbuf, "; ", tbuf_len); xstrlcat(tbuf, "; ", tbuf_len - 1);
strncat(tbuf, mesg2, tbuf_len); xstrlcat(tbuf, mesg2, tbuf_len - 1);
} }
EMSG(tbuf); EMSG(tbuf);
retval = 2; retval = 2;