userlandfs: this being NULL is undefined beheviour.

this is now checked before calling the methods.
This commit is contained in:
Jerome Duval
2017-07-06 21:22:18 +02:00
committed by Jérôme Duval
parent c95da8e700
commit 8412d1d17a
@@ -13,13 +13,17 @@ static char sTrackerBuffer[sizeof(ObjectTracker)];
// constructor // constructor
ObjectTrackable::ObjectTrackable() ObjectTrackable::ObjectTrackable()
{ {
ObjectTracker::GetDefault()->AddTrackable(this); ObjectTracker* tracker = ObjectTracker::GetDefault();
if (tracker != NULL)
tracker->AddTrackable(this);
} }
// destructor // destructor
ObjectTrackable::~ObjectTrackable() ObjectTrackable::~ObjectTrackable()
{ {
ObjectTracker::GetDefault()->RemoveTrackable(this); ObjectTracker* tracker = ObjectTracker::GetDefault();
if (tracker != NULL)
tracker->RemoveTrackable(this);
} }
@@ -77,9 +81,6 @@ ObjectTracker::GetDefault()
void void
ObjectTracker::AddTrackable(ObjectTrackable* trackable) ObjectTracker::AddTrackable(ObjectTrackable* trackable)
{ {
if (!this)
return;
if (trackable) { if (trackable) {
AutoLocker<Locker> _(fLock); AutoLocker<Locker> _(fLock);
fTrackables.Insert(trackable); fTrackables.Insert(trackable);
@@ -90,9 +91,6 @@ ObjectTracker::AddTrackable(ObjectTrackable* trackable)
void void
ObjectTracker::RemoveTrackable(ObjectTrackable* trackable) ObjectTracker::RemoveTrackable(ObjectTrackable* trackable)
{ {
if (!this)
return;
if (trackable) { if (trackable) {
AutoLocker<Locker> _(fLock); AutoLocker<Locker> _(fLock);
fTrackables.Remove(trackable); fTrackables.Remove(trackable);