Fix for bug 216474 - Browser crashes in password manager. Ensure that we don't crash or overwrite variables used to hold valid password data fields with null. r=bryner

git-svn-id: svn://10.0.0.236/trunk@146147 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
ben%bengoodger.com 2003-08-17 21:06:36 +00:00
parent 6a3e83bfd9
commit d92ce84202

View File

@ -621,21 +621,26 @@ nsPasswordManager::OnStateChange(nsIWebProgress* aWebProgress,
nsCOMPtr<nsIForm> form = do_QueryInterface(formNode);
SignonDataEntry* firstMatch = nsnull;
nsCOMPtr<nsIDOMHTMLInputElement> userField, passField;
nsCOMPtr<nsIDOMHTMLInputElement> userField, passField;
nsCOMPtr<nsIDOMHTMLInputElement> temp;
for (SignonDataEntry* e = hashEnt->head; e; e = e->next) {
nsCOMPtr<nsISupports> foundNode;
form->ResolveName(e->userField, getter_AddRefs(foundNode));
userField = do_QueryInterface(foundNode);
if (!userField)
form->ResolveName(e->userField, getter_AddRefs(foundNode));
temp = do_QueryInterface(foundNode);
if (temp)
userField = temp;
else
continue;
form->ResolveName(e->passField, getter_AddRefs(foundNode));
passField = do_QueryInterface(foundNode);
if (!passField)
form->ResolveName(e->passField, getter_AddRefs(foundNode));
temp = do_QueryInterface(foundNode);
if (temp)
passField = temp;
else
continue;
if (firstMatch) {