diff options
author | Alex Rozenman <rozenman@gmail.com> | 2009-07-24 21:04:16 +0300 |
---|---|---|
committer | Alex Rozenman <rozenman@gmail.com> | 2009-07-24 21:08:46 +0300 |
commit | 1e20ad112fc43f3d6adb3cc26be69ebffb14e9f6 (patch) | |
tree | 1ac6059b6c645e57c969840788aca549807976ef /src/symlist.c | |
parent | ac9b0e954b1d3aed514a3bbd363da1514202af0f (diff) | |
download | bison-1e20ad112fc43f3d6adb3cc26be69ebffb14e9f6.tar.gz |
Fix some memory leaks.
* src/named-ref.c: Add a pointer check (named_ref_free).
* src/scan-code.l: New function (variant_table_free). Called in
code_scanner_free.
* src/symlist.c: Call to named_ref_free (symbol_list_free).
Diffstat (limited to 'src/symlist.c')
-rw-r--r-- | src/symlist.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/symlist.c b/src/symlist.c index b3500d2d..1ffad2b6 100644 --- a/src/symlist.c +++ b/src/symlist.c @@ -146,7 +146,14 @@ symbol_list_prepend (symbol_list *list, symbol_list *node) void symbol_list_free (symbol_list *list) { - LIST_FREE (symbol_list, list); + symbol_list *node, *next; + for (node = list; node; node = next) + { + next = node->next; + if (node->named_ref) + named_ref_free (node->named_ref); + free (node); + } } |