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:
@@ -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>
|
||||
|
||||
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user