diff --git a/src/apps/debugger/dwarf/DwarfManager.cpp b/src/apps/debugger/dwarf/DwarfManager.cpp index 5d02dfed71..b6fb6bfadb 100644 --- a/src/apps/debugger/dwarf/DwarfManager.cpp +++ b/src/apps/debugger/dwarf/DwarfManager.cpp @@ -41,13 +41,14 @@ DwarfManager::LoadFile(const char* fileName, DwarfFile*& _file) if (file == NULL) return B_NO_MEMORY; + BReference fileReference(file, true); status_t error = file->Load(fileName); if (error != B_OK) { - delete file; return error; } fFiles.Add(file); + fileReference.Detach(); // we keep the initial reference for ourselves file->AcquireReference();