diff --git a/symbol/symbol_resolve.cpp b/symbol/symbol_resolve.cpp index 2f971f402e24961ef9b1fb126f6ca62621a239d3..413b229c39523d5d155a7191ed00616afb828ba7 100644 --- a/symbol/symbol_resolve.cpp +++ b/symbol/symbol_resolve.cpp @@ -671,13 +671,11 @@ int SymbolResolve::RecordElf(const char* fileName) } this->elfMap.emplace(file, myElf); } catch (std::exception& error) { - close(fd); pcerr::New(LIBSYM_ERR_ELFIN_FOMAT_FAILED, "libsym record elf format error: " + std::string{error.what()}); elfSafeHandler.releaseLock(file); return LIBSYM_ERR_ELFIN_FOMAT_FAILED; } - - close(fd); + pcerr::New(0, "success"); elfSafeHandler.releaseLock(file); return 0; @@ -719,14 +717,12 @@ int SymbolResolve::RecordDwarf(const char* fileName) efLoader.reset(); } catch (std::exception& error) { - close(fd); dwarfSafeHandler.releaseLock((file)); pcerr::New(LIBSYM_ERR_DWARF_FORMAT_FAILED, "libsym record dwarf file named " + file + " format error: " + std::string{error.what()}); return LIBSYM_ERR_DWARF_FORMAT_FAILED; } - close(fd); pcerr::New(0, "success"); dwarfSafeHandler.releaseLock((file)); return 0; diff --git a/third_party/elfin-parser b/third_party/elfin-parser index 13e57e29400a3a7bb5cb27c364b4b73468b4050f..fb404f74414a5e07f4317ca865dc5ff04b2c5639 160000 --- a/third_party/elfin-parser +++ b/third_party/elfin-parser @@ -1 +1 @@ -Subproject commit 13e57e29400a3a7bb5cb27c364b4b73468b4050f +Subproject commit fb404f74414a5e07f4317ca865dc5ff04b2c5639