From 6262d82d2fb70094fc8e6876d05a6efba798d3bf Mon Sep 17 00:00:00 2001 From: Ihor Antonov Date: Mon, 15 Jul 2019 20:56:50 -0400 Subject: pvs/V1028: cast operands, not the result --- src/nvim/misc1.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/nvim/misc1.c b/src/nvim/misc1.c index 6738e59bb2..cb6643f6cc 100644 --- a/src/nvim/misc1.c +++ b/src/nvim/misc1.c @@ -495,9 +495,14 @@ open_line ( } if (lead_len > 0) { // allocate buffer (may concatenate p_extra later) - leader = xmalloc((size_t)(lead_len + lead_repl_len + extra_space - + extra_len + (second_line_indent > 0 - ? second_line_indent : 0) + 1)); + int bytes = lead_len + + lead_repl_len + + extra_space + + extra_len + + (second_line_indent > 0 ? second_line_indent : 0) + + 1; + assert( bytes >= 0 ); + leader = xmalloc((size_t)bytes); allocated = leader; // remember to free it later STRLCPY(leader, saved_line, lead_len + 1); @@ -1556,11 +1561,13 @@ void ins_str(char_u *s) oldp = ml_get(lnum); oldlen = (int)STRLEN(oldp); - newp = (char_u *) xmalloc((size_t)(oldlen + newlen + 1)); + newp = (char_u *) xmalloc((size_t)oldlen + (size_t)newlen + 1); if (col > 0) memmove(newp, oldp, (size_t)col); memmove(newp + col, s, (size_t)newlen); - memmove(newp + col + newlen, oldp + col, (size_t)(oldlen - col + 1)); + int bytes = oldlen - col + 1; + assert(bytes >= 0); + memmove(newp + col + newlen, oldp + col, bytes); ml_replace(lnum, newp, false); changed_bytes(lnum, col); curwin->w_cursor.col += newlen; -- cgit