patch 8.2.4255: theoretical computation overflow
Problem: Theoretical computation overflow.
Solution: Perform multiplication in a wider type. (closes #9657)
diff --git a/src/eval.c b/src/eval.c
index e269932..86f103b 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -4632,7 +4632,7 @@
// Don't make it bigger though.
if (exestack.ga_len + n < exestack.ga_maxlen)
{
- new_len = exestack.ga_itemsize * (exestack.ga_len + n);
+ new_len = (size_t)exestack.ga_itemsize * (exestack.ga_len + n);
pp = vim_realloc(exestack.ga_data, new_len);
if (pp == NULL)
return FAIL;