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 From 96e87c5a63b84df443a67d35e838703108959873 Mon Sep 17 00:00:00 2001 From: Ihor Antonov Date: Tue, 16 Jul 2019 08:32:09 -0400 Subject: lint --- src/nvim/misc1.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/nvim/misc1.c b/src/nvim/misc1.c index cb6643f6cc..5a5bd16b98 100644 --- a/src/nvim/misc1.c +++ b/src/nvim/misc1.c @@ -495,13 +495,13 @@ open_line ( } if (lead_len > 0) { // allocate buffer (may concatenate p_extra later) - int bytes = lead_len - + lead_repl_len - + extra_space - + extra_len - + (second_line_indent > 0 ? second_line_indent : 0) + int bytes = lead_len + + lead_repl_len + + extra_space + + extra_len + + (second_line_indent > 0 ? second_line_indent : 0) + 1; - assert( bytes >= 0 ); + assert(bytes >= 0); leader = xmalloc((size_t)bytes); allocated = leader; // remember to free it later @@ -1561,13 +1561,14 @@ void ins_str(char_u *s) oldp = ml_get(lnum); oldlen = (int)STRLEN(oldp); - newp = (char_u *) xmalloc((size_t)oldlen + (size_t)newlen + 1); - if (col > 0) + 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); int bytes = oldlen - col + 1; assert(bytes >= 0); - memmove(newp + col + newlen, oldp + col, bytes); + memmove(newp + col + newlen, oldp + col, (size_t)bytes); ml_replace(lnum, newp, false); changed_bytes(lnum, col); curwin->w_cursor.col += newlen; -- cgit