#453: Using = as Nasal function argument crashes FG
Keep Nasal parser from crashing when "=" function misses a left-hand element, i.e. when parsing "sin(=)". (Or do people writing such terrible syntax deserve a crash? ;-) ).
This commit is contained in:
parent
3477e1a4f5
commit
aa0e3e3c9f
@ -536,6 +536,9 @@ static void genAssign(struct Parser* p, struct Token* t)
|
|||||||
{
|
{
|
||||||
struct Token *lv = LEFT(t), *rv = RIGHT(t);
|
struct Token *lv = LEFT(t), *rv = RIGHT(t);
|
||||||
int len, dummy, var=0;
|
int len, dummy, var=0;
|
||||||
|
if (!lv)
|
||||||
|
naParseError(p, "bad assignment, missing variable", t->line);
|
||||||
|
else
|
||||||
if(parListLen(lv) || (lv->type == TOK_VAR && parListLen(RIGHT(lv)))) {
|
if(parListLen(lv) || (lv->type == TOK_VAR && parListLen(RIGHT(lv)))) {
|
||||||
if(lv->type == TOK_VAR) { lv = RIGHT(lv); var = 1; }
|
if(lv->type == TOK_VAR) { lv = RIGHT(lv); var = 1; }
|
||||||
len = parListLen(lv);
|
len = parListLen(lv);
|
||||||
|
Loading…
Reference in New Issue
Block a user