To: vim_dev@googlegroups.com Subject: Patch 8.2.4074 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.2.4074 Problem: Going over the end of NameBuff. Solution: Check length when appending a space. Files: src/drawscreen.c, src/testdir/test_edit.vim *** ../vim-8.2.4073/src/drawscreen.c 2021-12-13 21:59:04.895993159 +0000 --- src/drawscreen.c 2022-01-13 13:06:19.684076974 +0000 *************** *** 462,473 **** p = NameBuff; len = (int)STRLEN(p); ! if (bt_help(wp->w_buffer) #ifdef FEAT_QUICKFIX ! || wp->w_p_pvw #endif ! || bufIsChanged(wp->w_buffer) ! || wp->w_buffer->b_p_ro) *(p + len++) = ' '; if (bt_help(wp->w_buffer)) { --- 462,474 ---- p = NameBuff; len = (int)STRLEN(p); ! if ((bt_help(wp->w_buffer) #ifdef FEAT_QUICKFIX ! || wp->w_p_pvw #endif ! || bufIsChanged(wp->w_buffer) ! || wp->w_buffer->b_p_ro) ! && len < MAXPATHL - 1) *(p + len++) = ' '; if (bt_help(wp->w_buffer)) { *** ../vim-8.2.4073/src/testdir/test_edit.vim 2022-01-03 11:03:42.538752401 +0000 --- src/testdir/test_edit.vim 2022-01-13 13:03:54.248250718 +0000 *************** *** 2103,2107 **** --- 2103,2122 ---- bwipe! endfunc + " Weird long file name was going over the end of NameBuff + func Test_edit_overlong_file_name() + CheckUnix + + file 0000000000000000000000000000 + file %%%%%%%%%%%%%%%%%%%%%%%%%% + file %%%%%% + set readonly + set ls=2 + + redraw! + set noreadonly ls& + bwipe! + endfunc + " vim: shiftwidth=2 sts=2 expandtab *** ../vim-8.2.4073/src/version.c 2022-01-13 12:05:03.489321507 +0000 --- src/version.c 2022-01-13 13:06:12.508087055 +0000 *************** *** 752,753 **** --- 752,755 ---- { /* Add new patch number below this line */ + /**/ + 4074, /**/ -- You cannot propel yourself forward by patting yourself on the back. /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// \\\ \\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///