From 9d03770331e36bdf64d53a94bf8ad495c8a92e92 Mon Sep 17 00:00:00 2001 From: "mrbkap%gmail.com" Date: Mon, 24 Dec 2007 19:30:36 +0000 Subject: [PATCH] Always free the curren token at the end of HandleToken. bug 408939, r=bzbarsky sr=jst git-svn-id: svn://10.0.0.236/trunk@242074 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/parser/htmlparser/src/CNavDTD.cpp | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/mozilla/parser/htmlparser/src/CNavDTD.cpp b/mozilla/parser/htmlparser/src/CNavDTD.cpp index 296e1271049..f3398e00486 100644 --- a/mozilla/parser/htmlparser/src/CNavDTD.cpp +++ b/mozilla/parser/htmlparser/src/CNavDTD.cpp @@ -742,12 +742,11 @@ CNavDTD::HandleToken(CToken* aToken, nsIParser* aParser) break; } - if (NS_SUCCEEDED(result) || NS_ERROR_HTMLPARSER_BLOCK == result) { - IF_FREE(theToken, mTokenAllocator); - } else if (result == NS_ERROR_HTMLPARSER_STOPPARSING) { + IF_FREE(theToken, mTokenAllocator); + if (result == NS_ERROR_HTMLPARSER_STOPPARSING) { mFlags |= NS_DTD_FLAG_STOP_PARSING; - } else { - return NS_OK; + } else if (NS_FAILED(result) && result != NS_ERROR_HTMLPARSER_BLOCK) { + result = NS_OK; } } @@ -2016,12 +2015,6 @@ CNavDTD::HandleDocTypeDeclToken(CToken* aToken) IF_FREE(theNode, &mNodeAllocator); - // Hack for bug 395846, if we failed to add the node for whatever reason, - // then we need to free the token ourselves. - if (NS_FAILED(result) && result != NS_ERROR_HTMLPARSER_BLOCK) { - IF_FREE(aToken, mTokenAllocator); - } - MOZ_TIMER_DEBUGLOG(("Start: Parse Time: CNavDTD::HandleDocTypeDeclToken(), this=%p\n", this)); START_TIMER();