dbg_dir = opt_debug_info_dir ? : DEFAULT_DEBUG_DIR;
- /* 2 characters per byte printed in hex, +1 for '/' and +1 for
- * '\0' */
+ /* 2 characters per byte printed in hex, +1 for '/' and +1 for '\0' */
build_id_file_len = (2 * bin->build_id_len) + 1 +
strlen(BUILD_ID_SUFFIX) + 1;
build_id_file = malloc(build_id_file_len);
static
int bin_info_set_elf_file(struct bin_info *bin)
{
- int elf_fd;
+ int elf_fd = -1;
Elf *elf_file = NULL;
if (!bin) {
return 0;
error:
- close(elf_fd);
+ if (elf_fd >= 0) {
+ close(elf_fd);
+ }
elf_end(elf_file);
return -1;
}
-
BT_HIDDEN
void source_location_destroy(struct source_location *src_loc)
{
free(src_loc->filename);
g_free(src_loc);
}
+
/**
* Append a string representation of an address offset to an existing
* string.