mirror of
https://github.com/vim/vim.git
synced 2025-09-27 04:14:06 -04:00
patch 7.4.1136
Problem: Wrong argument to assert_exception() causes a crash. (reported by Coverity) Solution: Check for NULL pointer. Add a test.
This commit is contained in:
@@ -9278,7 +9278,8 @@ f_assert_exception(argvars, rettv)
|
|||||||
assert_error(&ga);
|
assert_error(&ga);
|
||||||
ga_clear(&ga);
|
ga_clear(&ga);
|
||||||
}
|
}
|
||||||
else if (strstr((char *)vimvars[VV_EXCEPTION].vv_str, error) == NULL)
|
else if (error != NULL
|
||||||
|
&& strstr((char *)vimvars[VV_EXCEPTION].vv_str, error) == NULL)
|
||||||
{
|
{
|
||||||
prepare_assert_error(&ga);
|
prepare_assert_error(&ga);
|
||||||
fill_assert_error(&ga, &argvars[1], NULL, &argvars[0],
|
fill_assert_error(&ga, &argvars[1], NULL, &argvars[0],
|
||||||
|
@@ -18,6 +18,25 @@ func Test_assert_equal()
|
|||||||
call assert_equal([1, 2, 3], l)
|
call assert_equal([1, 2, 3], l)
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
func Test_assert_exception()
|
||||||
|
try
|
||||||
|
nocommand
|
||||||
|
catch
|
||||||
|
call assert_exception('E492:')
|
||||||
|
endtry
|
||||||
|
|
||||||
|
try
|
||||||
|
nocommand
|
||||||
|
catch
|
||||||
|
try
|
||||||
|
" illegal argument, get NULL for error
|
||||||
|
call assert_exception([])
|
||||||
|
catch
|
||||||
|
call assert_exception('E730:')
|
||||||
|
endtry
|
||||||
|
endtry
|
||||||
|
endfunc
|
||||||
|
|
||||||
func Test_user_is_happy()
|
func Test_user_is_happy()
|
||||||
smile
|
smile
|
||||||
sleep 300m
|
sleep 300m
|
||||||
|
@@ -741,6 +741,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1136,
|
||||||
/**/
|
/**/
|
||||||
1135,
|
1135,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user