From 6e3918fa63cf2657089ccb2eccc3820ab3e1f86e Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Wed, 8 Aug 2012 19:58:40 -0400 Subject: [PATCH] Don't release reference if we don't have one. Fixes a crash seen if Debugger was run on an unsupported architecture, e.g. x86-64 (for now). --- src/apps/debugger/debugger_interface/DebuggerInterface.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/apps/debugger/debugger_interface/DebuggerInterface.cpp b/src/apps/debugger/debugger_interface/DebuggerInterface.cpp index ae3eb33993..25043899d7 100644 --- a/src/apps/debugger/debugger_interface/DebuggerInterface.cpp +++ b/src/apps/debugger/debugger_interface/DebuggerInterface.cpp @@ -239,7 +239,8 @@ DebuggerInterface::DebuggerInterface(team_id teamID) DebuggerInterface::~DebuggerInterface() { - fArchitecture->ReleaseReference(); + if (fArchitecture != NULL) + fArchitecture->ReleaseReference(); Close(false); @@ -251,6 +252,9 @@ status_t DebuggerInterface::Init() { // create the architecture + // TODO: this probably needs to be rethought a bit, + // since especially when we eventually support remote debugging, + // the architecture will depend on the target machine, not the host #ifdef ARCH_x86 fArchitecture = new(std::nothrow) ArchitectureX86(this); #else