blocker bug 74728, r=pinkerton, Check for null mTokenAllocator before trying to free a token, for some reason unbeknowst to me, view source likes to create nsCParserNodes with a null allocator. Why this didn't bite us in the ass before is also beyond me.
git-svn-id: svn://10.0.0.236/trunk@91321 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
c2d245c145
commit
2ff09311e0
@ -102,7 +102,10 @@ nsresult nsCParserNode::Init(CToken* aToken,PRInt32 aLineNumber,nsTokenAllocator
|
||||
if(mAttributes && (mAttributes->GetSize())) {
|
||||
CToken* theAttrToken=0;
|
||||
while((theAttrToken=NS_STATIC_CAST(CToken*,mAttributes->Pop()))) {
|
||||
IF_FREE(theAttrToken, aTokenAllocator);
|
||||
// nsViewSourceHTML.cpp:513 creates nsCParserNodes with a NULL token allocator
|
||||
// need to check to see if mTokenAllocator is non-null
|
||||
if(aTokenAllocator)
|
||||
IF_FREE(theAttrToken, aTokenAllocator);
|
||||
}
|
||||
}
|
||||
mToken=aToken;
|
||||
@ -343,7 +346,10 @@ nsresult nsCParserNode::ReleaseAll() {
|
||||
if(mAttributes) {
|
||||
CToken* theAttrToken=0;
|
||||
while((theAttrToken=NS_STATIC_CAST(CToken*,mAttributes->Pop()))) {
|
||||
IF_FREE(theAttrToken, mTokenAllocator);
|
||||
// nsViewSourceHTML.cpp:513 creates nsCParserNodes with a NULL token allocator
|
||||
// need to check to see if mTokenAllocator is non-null
|
||||
if(mTokenAllocator)
|
||||
IF_FREE(theAttrToken, mTokenAllocator);
|
||||
}
|
||||
delete mAttributes;
|
||||
mAttributes=0;
|
||||
|
||||
@ -102,7 +102,10 @@ nsresult nsCParserNode::Init(CToken* aToken,PRInt32 aLineNumber,nsTokenAllocator
|
||||
if(mAttributes && (mAttributes->GetSize())) {
|
||||
CToken* theAttrToken=0;
|
||||
while((theAttrToken=NS_STATIC_CAST(CToken*,mAttributes->Pop()))) {
|
||||
IF_FREE(theAttrToken, aTokenAllocator);
|
||||
// nsViewSourceHTML.cpp:513 creates nsCParserNodes with a NULL token allocator
|
||||
// need to check to see if mTokenAllocator is non-null
|
||||
if(aTokenAllocator)
|
||||
IF_FREE(theAttrToken, aTokenAllocator);
|
||||
}
|
||||
}
|
||||
mToken=aToken;
|
||||
@ -343,7 +346,10 @@ nsresult nsCParserNode::ReleaseAll() {
|
||||
if(mAttributes) {
|
||||
CToken* theAttrToken=0;
|
||||
while((theAttrToken=NS_STATIC_CAST(CToken*,mAttributes->Pop()))) {
|
||||
IF_FREE(theAttrToken, mTokenAllocator);
|
||||
// nsViewSourceHTML.cpp:513 creates nsCParserNodes with a NULL token allocator
|
||||
// need to check to see if mTokenAllocator is non-null
|
||||
if(mTokenAllocator)
|
||||
IF_FREE(theAttrToken, mTokenAllocator);
|
||||
}
|
||||
delete mAttributes;
|
||||
mAttributes=0;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user