bug 737412 - handle null sizeOfEntryExcludingThis pointer within ns{T,Base}Hashtable SizeOfExcludingThis functions. r=jfkthame

This commit is contained in:
Nicholas Nethercote 2012-03-23 12:13:44 +00:00
parent 0c50aa229e
commit 4f8b8a75a5
2 changed files with 13 additions and 9 deletions

View File

@ -274,14 +274,15 @@ public:
size_t SizeOfExcludingThis(SizeOfEntryExcludingThisFun sizeOfEntryExcludingThis,
nsMallocSizeOfFun mallocSizeOf, void *userArg = nsnull)
{
if (IsInitialized()) {
s_SizeOfArgs args = { sizeOfEntryExcludingThis, userArg };
return PL_DHashTableSizeOfExcludingThis(&this->mTable,
s_SizeOfStub,
mallocSizeOf,
&args);
if (!IsInitialized()) {
return 0;
}
return 0;
if (sizeOfEntryExcludingThis) {
s_SizeOfArgs args = { sizeOfEntryExcludingThis, userArg };
return PL_DHashTableSizeOfExcludingThis(&this->mTable, s_SizeOfStub,
mallocSizeOf, &args);
}
return PL_DHashTableSizeOfExcludingThis(&this->mTable, NULL, mallocSizeOf);
}
protected:

View File

@ -288,11 +288,14 @@ public:
size_t SizeOfExcludingThis(SizeOfEntryExcludingThisFun sizeOfEntryExcludingThis,
nsMallocSizeOfFun mallocSizeOf, void *userArg = NULL) const
{
if (IsInitialized()) {
if (!IsInitialized()) {
return 0;
}
if (sizeOfEntryExcludingThis) {
s_SizeOfArgs args = { sizeOfEntryExcludingThis, userArg };
return PL_DHashTableSizeOfExcludingThis(&mTable, s_SizeOfStub, mallocSizeOf, &args);
}
return 0;
return PL_DHashTableSizeOfExcludingThis(&mTable, NULL, mallocSizeOf);
}
#ifdef DEBUG