summaryrefslogtreecommitdiffstats
path: root/chrome/browser/autofill
diff options
context:
space:
mode:
authorgeorgey@chromium.org <georgey@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-04 17:47:51 +0000
committergeorgey@chromium.org <georgey@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-04 17:47:51 +0000
commitf789d852bcb45cc283b29044726874119ab1f705 (patch)
treea8a937c5068ff3aa381a8a1c7c7c8624fd5842ba /chrome/browser/autofill
parent45446a5e18df7910f64a690a5d6389b70e30f985 (diff)
downloadchromium_src-f789d852bcb45cc283b29044726874119ab1f705.zip
chromium_src-f789d852bcb45cc283b29044726874119ab1f705.tar.gz
chromium_src-f789d852bcb45cc283b29044726874119ab1f705.tar.bz2
Fix memory leak in FormStructure
BUG=61424 TEST=valgrind tests should pass. Review URL: http://codereview.chromium.org/4104016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65076 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/autofill')
-rw-r--r--chrome/browser/autofill/form_structure.cc8
1 files changed, 4 insertions, 4 deletions
diff --git a/chrome/browser/autofill/form_structure.cc b/chrome/browser/autofill/form_structure.cc
index 1d24e3e..0eab86b 100644
--- a/chrome/browser/autofill/form_structure.cc
+++ b/chrome/browser/autofill/form_structure.cc
@@ -167,16 +167,16 @@ bool FormStructure::EncodeQueryRequest(const ScopedVector<FormStructure>& forms,
if (processed_forms.find(signature) != processed_forms.end())
continue;
processed_forms.insert(signature);
- buzz::XmlElement* encompassing_xml_element =
- new buzz::XmlElement(buzz::QName("form"));
+ scoped_ptr<buzz::XmlElement> encompassing_xml_element(
+ new buzz::XmlElement(buzz::QName("form")));
encompassing_xml_element->SetAttr(buzz::QName(kAttributeSignature),
signature);
if (!(*it)->EncodeFormRequest(FormStructure::QUERY,
- encompassing_xml_element))
+ encompassing_xml_element.get()))
continue; // Malformed form, skip it.
- autofil_request_xml.AddElement(encompassing_xml_element);
+ autofil_request_xml.AddElement(encompassing_xml_element.release());
encoded_signatures->push_back(signature);
}