mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-04 01:34:25 +00:00 
			
		
		
		
	vim-patch:7.4.1664
Problem:    Crash in :cgetexpr.
Solution:   Check for NULL pointer. (Dominique) Add a test.
89c64d557d
			
			
This commit is contained in:
		@@ -483,8 +483,10 @@ qf_init_ext (
 | 
			
		||||
          p_str += len;
 | 
			
		||||
        } else if (tv->v_type == VAR_LIST) {
 | 
			
		||||
          /* Get the next line from the supplied list */
 | 
			
		||||
          while (p_li && p_li->li_tv.v_type != VAR_STRING)
 | 
			
		||||
          while (p_li && (p_li->li_tv.v_type != VAR_STRING
 | 
			
		||||
                          || p_li->li_tv.vval.v_string == NULL)) {
 | 
			
		||||
            p_li = p_li->li_next;               /* Skip non-string items */
 | 
			
		||||
          }
 | 
			
		||||
 | 
			
		||||
          if (!p_li)                            /* End of the list */
 | 
			
		||||
            break;
 | 
			
		||||
 
 | 
			
		||||
@@ -780,7 +780,7 @@ static int included_patches[] = {
 | 
			
		||||
  // 1667 NA
 | 
			
		||||
  // 1666 NA
 | 
			
		||||
  // 1665 NA
 | 
			
		||||
  // 1664,
 | 
			
		||||
  1664,
 | 
			
		||||
  1663,
 | 
			
		||||
  // 1662 NA
 | 
			
		||||
  // 1661 NA
 | 
			
		||||
 
 | 
			
		||||
@@ -540,6 +540,12 @@ describe('helpgrep', function()
 | 
			
		||||
    call('Test_caddbuffer_to_empty')
 | 
			
		||||
    expected_empty()
 | 
			
		||||
  end)
 | 
			
		||||
 | 
			
		||||
  it('cgetexpr does not crash with a NULL element in a list', function()
 | 
			
		||||
    execute('cgetexpr [$x]')
 | 
			
		||||
    -- Still alive?
 | 
			
		||||
    eq(2, eval('1+1'))
 | 
			
		||||
  end)
 | 
			
		||||
end)
 | 
			
		||||
 | 
			
		||||
describe('errorformat', function()
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user