diff options
Diffstat (limited to 'libctf/ctf-open.c')
-rw-r--r-- | libctf/ctf-open.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/libctf/ctf-open.c b/libctf/ctf-open.c index f8eeaab..24899f0 100644 --- a/libctf/ctf-open.c +++ b/libctf/ctf-open.c @@ -1644,6 +1644,7 @@ ctf_file_close (ctf_file_t *fp) { ctf_dtdef_t *dtd, *ntd; ctf_dvdef_t *dvd, *nvd; + ctf_err_warning_t *err, *nerr; if (fp == NULL) return; /* Allow ctf_file_close(NULL) to simplify caller code. */ @@ -1710,6 +1711,14 @@ ctf_file_close (ctf_file_t *fp) ctf_dynhash_destroy (fp->ctf_link_cu_mapping); ctf_dynhash_destroy (fp->ctf_add_processing); + for (err = ctf_list_next (&fp->ctf_errs_warnings); err != NULL; err = nerr) + { + nerr = ctf_list_next (err); + ctf_list_delete (&fp->ctf_errs_warnings, err); + free (err->cew_text); + free (err); + } + free (fp->ctf_sxlate); free (fp->ctf_txlate); free (fp->ctf_ptrtab); |