fix leak in quick searchr/sr/a=sspitzer 198104

git-svn-id: svn://10.0.0.236/trunk@142244 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
bienvenu%netscape.com
2003-05-08 23:03:55 +00:00
parent 5dd5b2c8d6
commit 42dcbd9d1c

View File

@@ -587,7 +587,7 @@ nsresult nsMsgSearchOfflineMail::ProcessSearchTerm(nsIMsgDBHdr *msgToMatch,
msgToMatch->GetStringProperty("junkscore", getter_Copies(junkScoreStr));
err = aTerm->MatchJunkStatus(junkScoreStr, &result);
break;
}
}
default:
// XXX todo
// for the temporary return receipts filters, we use a custom header for Content-Type
@@ -625,13 +625,14 @@ nsresult nsMsgSearchOfflineMail::MatchTerms(nsIMsgDBHdr *msgToMatch,
PRBool Filtering,
PRBool *pResult)
{
nsMsgSearchBoolExpression * expressionTree = new nsMsgSearchBoolExpression();
nsMsgSearchBoolExpression * expressionTree = nsnull;
PRUint32 initialPos = 0;
nsresult err = ConstructExpressionTree(msgToMatch, termList, initialPos, defaultCharset, scope, db, headers, headerSize,
Filtering, &expressionTree, pResult);
// evaluate the expression tree and return the result
*pResult = expressionTree->OfflineEvaluate();
if (NS_SUCCEEDED(err) && expressionTree)
*pResult = expressionTree->OfflineEvaluate();
delete expressionTree;
return err;