Index: trunk/src_plugins/io_bxl/read.c =================================================================== --- trunk/src_plugins/io_bxl/read.c (revision 30606) +++ trunk/src_plugins/io_bxl/read.c (revision 30607) @@ -389,7 +389,9 @@ if (yres != 0) { printf("Syntax error at %ld:%ld\n", lval.line, lval.first_col); ret = -1; - break; + if (bctx.subc != NULL) + pcb_subc_free(bctx.subc); + goto error; } pcb_bxl_lex_reset(&lctx); /* prepare for the next token */ } @@ -397,6 +399,7 @@ pcb_subc_reg(data, bctx.subc); + error:; pcb_bxl_uninit(&bctx); fclose(f); return ret;