mirror of
https://github.com/fish-shell/fish-shell.git
synced 2025-03-15 23:22:53 +08:00
Fix crash bug in cyntax validator when using an illegal command name. Thanks to Martin Bähr for the report.
darcs-hash:20060907201559-ac50b-34fa01bbc40eafddcc64a5111bebd88aab75a8d4.gz
This commit is contained in:
parent
227a5da02c
commit
72d73b7fdd
32
parser.c
32
parser.c
@ -3294,25 +3294,29 @@ int parser_test( const wchar_t * buff,
|
||||
arg_count = -1;
|
||||
}
|
||||
|
||||
/*
|
||||
Try to make sure the second argument to 'for' is 'in'
|
||||
*/
|
||||
if( wcscmp( cmd, L"for" ) == 0 )
|
||||
if( cmd )
|
||||
{
|
||||
if( arg_count == 2 )
|
||||
|
||||
/*
|
||||
Try to make sure the second argument to 'for' is 'in'
|
||||
*/
|
||||
if( wcscmp( cmd, L"for" ) == 0 )
|
||||
{
|
||||
if( wcscmp( tok_last( &tok ), L"in" ) != 0 )
|
||||
if( arg_count == 2 )
|
||||
{
|
||||
err = 1;
|
||||
|
||||
if( out )
|
||||
if( wcscmp( tok_last( &tok ), L"in" ) != 0 )
|
||||
{
|
||||
error( SYNTAX_ERROR,
|
||||
tok_get_pos( &tok ),
|
||||
BUILTIN_FOR_ERR_IN,
|
||||
L"for" );
|
||||
err = 1;
|
||||
|
||||
print_errors( out, prefix );
|
||||
if( out )
|
||||
{
|
||||
error( SYNTAX_ERROR,
|
||||
tok_get_pos( &tok ),
|
||||
BUILTIN_FOR_ERR_IN,
|
||||
L"for" );
|
||||
|
||||
print_errors( out, prefix );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user