diff options
author | Peter Johnson <peter@tortall.net> | 2001-10-29 04:52:44 +0000 |
---|---|---|
committer | Peter Johnson <peter@tortall.net> | 2001-10-29 04:52:44 +0000 |
commit | 4d95de5161399e432a423a5f5c38345ceb24431f (patch) | |
tree | fe10d9deb7d182db2d8c5ea36d843d94abc426b6 /frontends | |
parent | dc1c3c70f5271ae7679ba37ae49f5857ade67443 (diff) | |
download | yasm-4d95de5161399e432a423a5f5c38345ceb24431f.tar.gz |
Plug memory leaks, and enhance finding later ones with *_delete functions.
Fix a *major* bug in expr_level_op().
svn path=/trunk/yasm/; revision=301
Diffstat (limited to 'frontends')
-rw-r--r-- | frontends/yasm/yasm.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/frontends/yasm/yasm.c b/frontends/yasm/yasm.c index b42d331b..45e76049 100644 --- a/frontends/yasm/yasm.c +++ b/frontends/yasm/yasm.c @@ -132,8 +132,13 @@ main(int argc, char *argv[]) sections = nasm_parser.do_parse(&nasm_parser, &dbg_objfmt, in); - if (OutputAllErrorWarning() > 0) + if (OutputAllErrorWarning() > 0) { + sections_delete(sections); + symrec_delete_all(); + filename_delete_all(); + BitVector_Shutdown(); return EXIT_FAILURE; + } sections_print(sections); printf("\n***Symbol Table***\n"); @@ -145,7 +150,10 @@ main(int argc, char *argv[]) printf("Post-parser-finalization:\n"); sections_print(sections); + sections_delete(sections); + symrec_delete_all(); filename_delete_all(); + BitVector_Shutdown(); return EXIT_SUCCESS; } |