In BUnarchiver::IsInstantiated(), catch a possible NULL dereference, make archive parameter to BUnarchiver::IsArchiveManaged() const.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37751 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Alex Wilson
2010-07-26 08:02:33 +00:00
parent c216fe9d13
commit 45a167a94d
2 changed files with 3 additions and 2 deletions
+1 -1
View File
@@ -129,7 +129,7 @@ public:
void AssumeOwnership(BArchivable* archivable);
void RelinquishOwnership(BArchivable* archivable);
static bool IsArchiveManaged(BMessage* archive);
static bool IsArchiveManaged(const BMessage* archive);
static BMessage* PrepareArchive(BMessage*& archive);
template<class T>
+2 -1
View File
@@ -452,6 +452,7 @@ BUnarchiver::FindObject<BArchivable>(const char* name,
bool
BUnarchiver::IsInstantiated(int32 token)
{
_CallDebuggerIfManagerNull();
return fManager->IsInstantiated(token);
}
@@ -504,7 +505,7 @@ BUnarchiver::RelinquishOwnership(BArchivable* archivable)
bool
BUnarchiver::IsArchiveManaged(BMessage* archive)
BUnarchiver::IsArchiveManaged(const BMessage* archive)
{
// managed child archives will return here
if (BManagerBase::ManagerPointer(archive))