From: NeilBrown Date: Fri, 5 Mar 2021 09:14:29 +0000 (+1100) Subject: parsergen: some missing 'free' calls. X-Git-Url: https://ocean-lang.org/code/?p=ocean;a=commitdiff_plain;h=5f8aaec6eb5315fff28c9c55c15620f43d483f97 parsergen: some missing 'free' calls. Well... one missing call, and some places were we need to do something a bit more. Signed-off-by: NeilBrown --- diff --git a/csrc/parsergen.mdc b/csrc/parsergen.mdc index 86aa299..f2bbe01 100644 --- a/csrc/parsergen.mdc +++ b/csrc/parsergen.mdc @@ -561,6 +561,7 @@ Now we have all the bits we need to parse a full production. abort: while (tk.num != TK_newline && tk.num != TK_eof) tk = token_next(state); + free(p.body); return err; } @@ -695,7 +696,7 @@ used as a terminal anywhere that a terminal is expected. s->name.len, s->name.txt); } if (errs) { - free(g); + free(g); // FIXME free content g = NULL; } } @@ -704,7 +705,7 @@ used as a terminal anywhere that a terminal is expected. fprintf(stderr, "Error at line %d: %s\n", tk.line, err); token_close(state); - free(g); + free(g); // FIXME free content return NULL; }