X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Fplugins%2Flttng-utils%2Fdebug-info%2Fbin-info.c;h=080472a983f4274f29677ad9e5773ea06fd9efc2;hb=e649b30ccb616ac25825d69442af9d2b6777bc7b;hp=149236e8bea6be74dd57c500d0ec432c3ab26c5f;hpb=3fa1b6a32830525df702234513c7fd6264f59bb8;p=babeltrace.git diff --git a/src/plugins/lttng-utils/debug-info/bin-info.c b/src/plugins/lttng-utils/debug-info/bin-info.c index 149236e8..080472a9 100644 --- a/src/plugins/lttng-utils/debug-info/bin-info.c +++ b/src/plugins/lttng-utils/debug-info/bin-info.c @@ -163,10 +163,9 @@ int bin_info_set_elf_file(struct bin_info *bin) { struct bt_fd_cache_handle *elf_handle = NULL; Elf *elf_file = NULL; + int ret; - if (!bin) { - goto error; - } + BT_ASSERT(bin); elf_handle = bt_fd_cache_get_handle(bin->fd_cache, bin->elf_path); if (!elf_handle) { @@ -189,12 +188,17 @@ int bin_info_set_elf_file(struct bin_info *bin) goto error; } - return 0; + + ret = 0; + goto end; error: bt_fd_cache_put_handle(bin->fd_cache, elf_handle); elf_end(elf_file); - return -1; + ret = -1; + +end: + return ret; } /** @@ -488,7 +492,9 @@ int bin_info_set_dwarf_info_from_path(struct bin_info *bin, char *path) return 0; error: - bt_fd_cache_put_handle(bin->fd_cache, dwarf_handle); + if (bin) { + bt_fd_cache_put_handle(bin->fd_cache, dwarf_handle); + } dwarf_end(dwarf_info); g_free(dwarf_info); free(cu);