diff options
author | =?UTF-8?q?Dundar=20G=C3=B6c?= <gocdundar@gmail.com> | 2022-01-29 15:19:23 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-01-29 15:19:23 +0000 |
commit | d5cec1f1f055316c353cfa15ad8d5eb0952d50a0 (patch) | |
tree | 94d3ad44783e3442be7293edb3d5890ac08f0377 /src/evalfunc.c | |
parent | f12b7815f6b55c3e2f37366aa45e723b1fcb2e9a (diff) |
patch 8.2.4255: theoretical computation overflowv8.2.4255
Problem: Theoretical computation overflow.
Solution: Perform multiplication in a wider type. (closes #9657)
Diffstat (limited to 'src/evalfunc.c')
-rw-r--r-- | src/evalfunc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/evalfunc.c b/src/evalfunc.c index 879fe2239f..cb5fcfe025 100644 --- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -7327,7 +7327,7 @@ max_min(typval_T *argvars, typval_T *rettv, int domax) if ((l->lv_u.nonmat.lv_stride > 0) ^ domax) n = l->lv_u.nonmat.lv_start; else - n = l->lv_u.nonmat.lv_start + (l->lv_len - 1) + n = l->lv_u.nonmat.lv_start + ((varnumber_T)l->lv_len - 1) * l->lv_u.nonmat.lv_stride; } else |