diff --git a/ell.c b/ell.c index cc38579..d925523 100755 --- a/ell.c +++ b/ell.c @@ -1116,17 +1116,16 @@ main (int argc, char *argv[]) { parser_init (&parser, buf.s, buf.len - 1); const char *e = NULL; struct item *program = parser_run (&parser, &e); - free (buf.s); - if (e) { - printf ("%s: %s\n", "parse error", e); - return 1; - } - #ifndef NDEBUG printf ("\x1b[1m%s\x1b[0m\n", buf.s); print_tree (program, 0); printf ("\n\n"); #endif + free (buf.s); + if (e) { + printf ("%s: %s\n", "parse error", e); + return 1; + } parser_free (&parser); struct context ctx;