diff options
author | georgey@chromium.org <georgey@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-04 17:47:51 +0000 |
---|---|---|
committer | georgey@chromium.org <georgey@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-04 17:47:51 +0000 |
commit | f789d852bcb45cc283b29044726874119ab1f705 (patch) | |
tree | a8a937c5068ff3aa381a8a1c7c7c8624fd5842ba /chrome/browser/autofill | |
parent | 45446a5e18df7910f64a690a5d6389b70e30f985 (diff) | |
download | chromium_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.cc | 8 |
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); } |