diff options
| author | Mark Wielaard <[email protected]> | 2015-11-19 12:37:08 +0100 |
|---|---|---|
| committer | Mark Wielaard <[email protected]> | 2015-11-27 14:41:51 +0100 |
| commit | e2cf85cd35d33f92ff3d032e941783238a8fdaa1 (patch) | |
| tree | 2fc8359d80c6bc74e1d27f19af08325a60017650 /libdwfl/argp-std.c | |
| parent | b47fb2366f2ac3015d7cf9ae3938392196609831 (diff) | |
libdw: Make sure Ebl is always freed from cfi frame cache.
libdwfl sets the Dwfl_Module Ebl for the eh_cfi and dwarf_cfi cache to
save a bit of memory. It also calls ebl_closebackend on the ebl to free
it. The Dwarf_CFI never frees the Ebl in the cache, even when it opened
one itself. This means that if only libdw calls are used to access the
Dwarf_CFI the Ebl might be leaked.
Always destroy the Dwarf_CFI cache Ebl in __libdw_destroy_frame_cache.
And in __libdwfl_module_free clear the Dwarf_CFI Ebl if it is the
Dwfl_Module Ebl before calling dwarf_cfi_end and dwarf_end.
Signed-off-by: Mark Wielaard <[email protected]>
Diffstat (limited to 'libdwfl/argp-std.c')
0 files changed, 0 insertions, 0 deletions
