Mercurial > vim
diff src/register.c @ 25917:79a5c8238a5d v8.2.3492
patch 8.2.3492: crash when pasting too many times
Commit: https://github.com/vim/vim/commit/eeed1c7ae090c17f4df51cf97b2a9e4d8b4f4dc7
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Oct 10 12:35:17 2021 +0100
patch 8.2.3492: crash when pasting too many times
Problem: Crash when pasting too many times.
Solution: Limit the size to what fits in an int. (closes https://github.com/vim/vim/issues/8962)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 10 Oct 2021 13:45:04 +0200 |
parents | 196f75cf6983 |
children | b863efc63397 |
line wrap: on
line diff
--- a/src/register.c +++ b/src/register.c @@ -2011,8 +2011,15 @@ do_put( } do { - totlen = count * yanklen; - if (totlen > 0) + long multlen = count * yanklen; + + totlen = multlen; + if (totlen != multlen) + { + emsg(_(e_resulting_text_too_long)); + break; + } + else if (totlen > 0) { oldp = ml_get(lnum); if (lnum > start_lnum)