Mercurial > vim
view src/testdir/test_close_count.in @ 10865:1a18c0f93ffa v8.0.0322
patch 8.0.0322: possible overflow with corrupted spell file
commit https://github.com/vim/vim/commit/399c297aa93afe2c0a39e2a1b3f972aebba44c9d
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Feb 9 21:07:12 2017 +0100
patch 8.0.0322: possible overflow with corrupted spell file
Problem: Possible overflow with spell file where the tree length is
corrupted.
Solution: Check for an invalid length (suggested by shqking)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 09 Feb 2017 21:15:04 +0100 |
parents | 22f95a018b13 |
children | ae45d497868f |
line wrap: on
line source
Tests for :[count]close! and :[count]hide vim: set ft=vim : STARTTEST :so small.vim :let tests = [] :for i in range(5) :new :endfor :4wincmd w :close! :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) :1close! :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) :$close! :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) :1wincmd w :2close! :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) :1wincmd w :new :new :2wincmd w :-1close! :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) :2wincmd w :+1close! :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) :e! test.out :call append(0, map(copy(tests), 'join(v:val, " ")')) :w :only! :b1 ENDTEST STARTTEST :let tests = [] :for i in range(5) :new :endfor :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) :4wincmd w :.hide :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) :1hide :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) :$hide :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) :1wincmd w :2hide :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) :1wincmd w :new :new :3wincmd w :-hide :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) :2wincmd w :+hide :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) :e! test.out :call append(line('$'), map(copy(tests), 'join(v:val, " ")')) Go :w :only! :b1 ENDTEST STARTTEST :let tests = [] :set hidden :for i in range(5) :new :endfor :1wincmd w :$ hide :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) :$-1 close! :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) :1wincmd w :.+close! :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) :e! test.out :call append(line('$'), map(copy(tests), 'join(v:val, " ")')) Go :w :only! :b1 ENDTEST STARTTEST :let tests = [] :set hidden :for i in range(5) :new :endfor :4wincmd w c :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) 1c :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) 9c :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) :1wincmd w 2c :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) :only! :e! test.out :call append(line('$'), map(copy(tests), 'join(v:val, " ")')) :w :qa! ENDTEST