From 8b811beb6d473140112e36d63c8894c05034dc7b Mon Sep 17 00:00:00 2001 From: Pierre Pronchery Date: Tue, 3 Jun 2008 10:00:14 +0000 Subject: [PATCH] Fixed minor memory leaks --- src/code.c | 5 +++++ src/main.c | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/code.c b/src/code.c index 4b37705..894dc52 100644 --- a/src/code.c +++ b/src/code.c @@ -207,6 +207,7 @@ static int _new_target(Code * code, char const * target, int code_delete(Code * code) { int ret = 0; + size_t i; #ifdef DEBUG fprintf(stderr, "DEBUG: %s()\n", __func__); @@ -217,7 +218,11 @@ int code_delete(Code * code) ret = _code_target_exit(code); plugin_delete(code->plugin); } + for(i = 0; i < code->variables_cnt; i++) + free(code->variables[i].name); free(code->variables); + for(i = 0; i < code->types_cnt; i++) + free(code->types[i].name); free(code->types); object_delete(code); return ret; diff --git a/src/main.c b/src/main.c index 1898b47..6e4512c 100644 --- a/src/main.c +++ b/src/main.c @@ -68,6 +68,7 @@ static int _main_add_option(C99Prefs * prefs, char const * option); int main(int argc, char * argv[]) { + int ret; C99Prefs prefs; int o; @@ -128,7 +129,11 @@ int main(int argc, char * argv[]) && prefs.outfile != NULL && optind + 1 != argc) return _usage(); - return _c99(&prefs, argc - optind, &argv[optind]) == 0 ? 0 : 2; + ret = _c99(&prefs, argc - optind, &argv[optind]); + free(prefs.paths); + free(prefs.defines); + free(prefs.undefines); + return (ret == 0) ? 0 : 2; } static int _main_default_paths(C99Prefs * prefs)