tcc_free(table_ident) in preprocess_new() if table_ident != NULL

master
seyko 2015-03-03 14:54:46 +03:00
parent e2a8fd4520
commit a429d40f06
2 changed files with 5 additions and 1 deletions

View File

@ -888,6 +888,7 @@ static void tcc_cleanup(void)
for(i = 0; i < n; i++)
tcc_free(table_ident[i]);
tcc_free(table_ident);
table_ident = NULL;
/* free sym_pools */
dynarray_reset(&sym_pools, &nb_sym_pools);

View File

@ -3165,7 +3165,10 @@ ST_FUNC void preprocess_new(void)
isidnum_table[i-CH_EOF] = isid(i) || isnum(i);
/* add all tokens */
table_ident = NULL;
if (table_ident) {
tcc_free (table_ident);
table_ident = NULL;
}
memset(hash_ident, 0, TOK_HASH_SIZE * sizeof(TokenSym *));
tok_ident = TOK_IDENT;