From: Ben Pfaff Date: Sat, 9 Oct 2021 17:10:35 +0000 (-0700) Subject: lexer: Fix memory leak merging tokens only some of which come from macros. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?p=pspp;a=commitdiff_plain;h=b9019cc390638a998007fc314b8ab7a8fb3e92fa lexer: Fix memory leak merging tokens only some of which come from macros. Found by Address Sanitizer. --- diff --git a/src/language/lexer/lexer.c b/src/language/lexer/lexer.c index 9a7d3ce130..2218caadd7 100644 --- a/src/language/lexer/lexer.c +++ b/src/language/lexer/lexer.c @@ -1997,7 +1997,7 @@ lex_source_get_lookahead (struct lex_source *src) .macro_rep = macro ? first->macro_rep : NULL, .ofs = macro ? first->ofs : 0, .len = macro ? (last->ofs - first->ofs) + last->len : 0, - .ref_cnt = first->ref_cnt, + .ref_cnt = macro ? first->ref_cnt : NULL, }; if (t->ref_cnt) ++*t->ref_cnt;