fix heredoc crash

we emitted an error on heredoc tags, but we
continued on, and added a heredoc entry to
the list, with a tag that we couldn't handle.

when processing this heredoc, rc would segfault.

fix: don't add a heredoc to the list on error.
This commit is contained in:
Ori Bernstein 2020-03-09 14:24:02 -07:00
parent 698837e715
commit fc90f7a666

View file

@ -22,9 +22,13 @@ hexnum(char *p, int n)
tree*
heredoc(tree *tag)
{
struct here *h = new(struct here);
if(tag->type!=WORD)
struct here *h;
if(tag->type!=WORD){
yyerror("Bad here tag");
return nil;
}
h = new(struct here);
h->next = 0;
if(here)
*ehere = h;