patch 8.0.1230: CTRL-A in Visual mode uses character after selection
Problem: CTRL-A in Visual mode uses character after selection. (Nikolai
Pavlov)
Solution: Check the length before using a character.
diff --git a/src/charset.c b/src/charset.c
index a8b704c..003949f 100644
--- a/src/charset.c
+++ b/src/charset.c
@@ -1852,7 +1852,7 @@
* If "what" contains STR2NR_OCT recognize octal numbers
* If "what" contains STR2NR_HEX recognize hex numbers
* If "what" contains STR2NR_FORCE always assume bin/oct/hex.
- * If maxlen > 0, check at a maximum maxlen chars
+ * If maxlen > 0, check at a maximum maxlen chars.
*/
void
vim_str2nr(
@@ -1900,7 +1900,7 @@
if (what & STR2NR_OCT)
{
/* Don't interpret "0", "08" or "0129" as octal. */
- for (n = 1; VIM_ISDIGIT(ptr[n]); ++n)
+ for (n = 1; n != maxlen && VIM_ISDIGIT(ptr[n]); ++n)
{
if (ptr[n] > '7')
{
@@ -1908,8 +1908,6 @@
break;
}
pre = '0'; /* assume octal */
- if (n == maxlen)
- break;
}
}
}