aboutsummaryrefslogtreecommitdiff
path: root/libtcc.c
diff options
context:
space:
mode:
Diffstat (limited to 'libtcc.c')
-rw-r--r--libtcc.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libtcc.c b/libtcc.c
index b9f5952..28b6407 100644
--- a/libtcc.c
+++ b/libtcc.c
@@ -868,6 +868,7 @@ LIBTCCAPI void tcc_undefine_symbol(TCCState *s1, const char *sym)
static void tcc_cleanup(void)
{
int i, n;
+ CSym *def;
if (NULL == tcc_state)
return;
tcc_state = NULL;
@@ -877,8 +878,11 @@ static void tcc_cleanup(void)
/* free tokens */
n = tok_ident - TOK_IDENT;
- for(i = 0; i < n; i++)
+ for(i = 0; i < n; i++){
+ def = &table_ident[i]->sym_define;
+ tcc_free(def->data);
tcc_free(table_ident[i]);
+ }
tcc_free(table_ident);
/* free sym_pools */