<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>28144</bug_id>
          
          <creation_ts>2009-08-10 06:06:08 -0700</creation_ts>
          <short_desc>Memory leak in error handling code for SOUP interface</short_desc>
          <delta_ts>2009-08-10 11:26:52 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="John Kjellberg">john.kjellberg</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>jmalonzo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>138634</commentid>
    <comment_count>0</comment_count>
    <who name="John Kjellberg">john.kjellberg</who>
    <bug_when>2009-08-10 06:06:08 -0700</bug_when>
    <thetext>When reviewing the code I believe I have found parts in the error handling code where &quot;g_free&quot; is missing. See attached patch for details.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138636</commentid>
    <comment_count>1</comment_count>
      <attachid>34449</attachid>
    <who name="John Kjellberg">john.kjellberg</who>
    <bug_when>2009-08-10 06:16:48 -0700</bug_when>
    <thetext>Created attachment 34449
Added &quot;g_free&quot; after calls to &quot;soup_uri_to_string&quot; and &quot;g_file_get_uri&quot; where they where missing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138637</commentid>
    <comment_count>2</comment_count>
    <who name="John Kjellberg">john.kjellberg</who>
    <bug_when>2009-08-10 06:19:11 -0700</bug_when>
    <thetext>I&apos;m sorry if I have misunderstood the code. I&apos;m new to WebKit, SOUP and glib. Please give me some short input if I have missed something regarding the resource handling. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138708</commentid>
    <comment_count>3</comment_count>
      <attachid>34449</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-08-10 10:19:24 -0700</bug_when>
    <thetext>Comment on attachment 34449
Added &quot;g_free&quot; after calls to &quot;soup_uri_to_string&quot; and &quot;g_file_get_uri&quot; where they where missing.

&gt; +        char *uri=soup_uri_to_string(soup_message_get_uri(msg), false);

Formatting is wrong here. It should be &quot;char* uri = soup…&quot;

Otherwise, this patch looks great. I&apos;m going to say r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138746</commentid>
    <comment_count>4</comment_count>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2009-08-10 11:26:52 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 34449 [details])
&gt; &gt; +        char *uri=soup_uri_to_string(soup_message_get_uri(msg), false);
&gt; 
&gt; Formatting is wrong here. It should be &quot;char* uri = soup…&quot;
&gt; 
&gt; Otherwise, this patch looks great. I&apos;m going to say r=me

Thanks. Landed as http://trac.webkit.org/changeset/46989.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34449</attachid>
            <date>2009-08-10 06:16:48 -0700</date>
            <delta_ts>2009-08-10 10:19:24 -0700</delta_ts>
            <desc>Added &quot;g_free&quot; after calls to &quot;soup_uri_to_string&quot; and &quot;g_file_get_uri&quot; where they where missing.</desc>
            <filename>leak-patch.txt</filename>
            <type>text/plain</type>
            <size>4685</size>
            <attacher name="John Kjellberg">john.kjellberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0Njk3NCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMDktMDgtMTAgIEpvaG4gS2plbGxiZXJnICA8am9obi5ramVsbGJl
cmdAcG93ZXIuYWxzdG9tLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBGcmVlZCBtZW1vcnkgbGVha2VkIGluIGVycm9yIGhhbmRsaW5nIGNvZGUg
Zm9yIHNvdXAgcmVxdWVzdHMuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTI4MTQ0CisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVz
b3VyY2VIYW5kbGVTb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmZpbmlzaGVkQ2FsbGJhY2sp
OgorICAgICAgICAoV2ViQ29yZTo6KToKKwogMjAwOS0wOC0xMCAgQW5keSBTaGF3IDxhbmR5LnNo
YXdAbm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5uLgpJbmRl
eDogV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRs
ZVNvdXAuY3BwCShyZXZpc2lvbiA0Njk2OSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9z
b3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYsNiArNiw3IEBA
CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgR3VzdGF2byBOb3JvbmhhIFNpbHZhIDxnbnNAZ25vbWUu
b3JnPgogICogQ29weXJpZ2h0IChDKSAyMDA5IENocmlzdGlhbiBEeXdhbiA8Y2hyaXN0aWFuQGlt
ZW5kaW8uY29tPgogICogQ29weXJpZ2h0IChDKSAyMDA5IElnYWxpYSBTLkwuCisgKiBDb3B5cmln
aHQgKEMpIDIwMDkgSm9obiBLamVsbGJlcmcgPGpvaG4ua2plbGxiZXJnQHBvd2VyLmFsc3RvbS5j
b20+CiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTMyMiwxMCArMzIzLDEyIEBAIHN0YXRpYyB2b2lk
IGZpbmlzaGVkQ2FsbGJhY2soU291cFNlc3Npb24KICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYg
KFNPVVBfU1RBVFVTX0lTX1RSQU5TUE9SVF9FUlJPUihtc2ctPnN0YXR1c19jb2RlKSkgeworICAg
ICAgICBjaGFyICp1cmk9c291cF91cmlfdG9fc3RyaW5nKHNvdXBfbWVzc2FnZV9nZXRfdXJpKG1z
ZyksIGZhbHNlKTsKICAgICAgICAgUmVzb3VyY2VFcnJvciBlcnJvcihnX3F1YXJrX3RvX3N0cmlu
ZyhTT1VQX0hUVFBfRVJST1IpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZy0+c3Rh
dHVzX2NvZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cF91cmlfdG9fc3RyaW5n
KHNvdXBfbWVzc2FnZV9nZXRfdXJpKG1zZyksIGZhbHNlKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1cmksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RyaW5nOjpmcm9tVVRG
OChtc2ctPnJlYXNvbl9waHJhc2UpKTsKKyAgICAgICAgZ19mcmVlKHVyaSk7CiAgICAgICAgIGNs
aWVudC0+ZGlkRmFpbChoYW5kbGUuZ2V0KCksIGVycm9yKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KQEAgLTcwNywxMCArNzEwLDEyIEBAIHN0YXRpYyB2b2lkIHJlYWRDYWxsYmFjayhHT2JqZWN0
KiBzb3VyY2UKIAogICAgIGdzc2l6ZSBieXRlc1JlYWQgPSBnX2lucHV0X3N0cmVhbV9yZWFkX2Zp
bmlzaChkLT5tX2lucHV0U3RyZWFtLCByZXMsICZlcnJvcik7CiAgICAgaWYgKGVycm9yKSB7Cisg
ICAgICAgIGNoYXIqIHVyaSA9IGdfZmlsZV9nZXRfdXJpKGQtPm1fZ2ZpbGUpOwogICAgICAgICBS
ZXNvdXJjZUVycm9yIHJlc291cmNlRXJyb3IoZ19xdWFya190b19zdHJpbmcoR19JT19FUlJPUiks
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvci0+Y29kZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfZmlsZV9nZXRfdXJpKGQtPm1fZ2ZpbGUp
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJpLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IgPyBTdHJpbmc6OmZyb21VVEY4KGVycm9yLT5t
ZXNzYWdlKSA6IFN0cmluZygpKTsKKyAgICAgICAgZ19mcmVlKHVyaSk7CiAgICAgICAgIGdfZXJy
b3JfZnJlZShlcnJvcik7CiAgICAgICAgIGNsZWFudXBHaW9PcGVyYXRpb24oZCk7CiAgICAgICAg
IGNsaWVudC0+ZGlkRmFpbChoYW5kbGUuZ2V0KCksIHJlc291cmNlRXJyb3IpOwpAQCAtNzUzLDEx
ICs3NTgsMTIgQEAgc3RhdGljIHZvaWQgb3BlbkNhbGxiYWNrKEdPYmplY3QqIHNvdXJjZQogICAg
IEdFcnJvciAqZXJyb3IgPSAwOwogICAgIEdGaWxlSW5wdXRTdHJlYW0qIGluID0gZ19maWxlX3Jl
YWRfZmluaXNoKEdfRklMRShzb3VyY2UpLCByZXMsICZlcnJvcik7CiAgICAgaWYgKGVycm9yKSB7
CisgICAgICAgIGNoYXIqIHVyaSA9IGdfZmlsZV9nZXRfdXJpKGQtPm1fZ2ZpbGUpOwogICAgICAg
ICBSZXNvdXJjZUVycm9yIHJlc291cmNlRXJyb3IoZ19xdWFya190b19zdHJpbmcoR19JT19FUlJP
UiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvci0+Y29kZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfZmlsZV9nZXRfdXJpKGQtPm1fZ2Zp
bGUpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJpLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IgPyBTdHJpbmc6OmZyb21VVEY4KGVycm9y
LT5tZXNzYWdlKSA6IFN0cmluZygpKTsKLQorICAgICAgICBnX2ZyZWUodXJpKTsKICAgICAgICAg
Z19lcnJvcl9mcmVlKGVycm9yKTsKICAgICAgICAgY2xlYW51cEdpb09wZXJhdGlvbihkKTsKICAg
ICAgICAgY2xpZW50LT5kaWRGYWlsKGhhbmRsZSwgcmVzb3VyY2VFcnJvcik7CkBAIC04MDQsMTAg
KzgxMCwxMiBAQCBzdGF0aWMgdm9pZCBxdWVyeUluZm9DYWxsYmFjayhHT2JqZWN0KiBzCiAgICAg
ICAgIC8vIHNlcnZlciAoYW5kIHRoZW4ga2VlcCB0cmFjayBvZiB0aGUgZmFjdCB0aGF0IHdlIG1v
dW50ZWQgaXQsCiAgICAgICAgIC8vIGFuZCBzZXQgYSB0aW1lb3V0IHRvIHVubW91bnQgaXQgbGF0
ZXIgYWZ0ZXIgaXQncyBiZWVuIGlkbGUKICAgICAgICAgLy8gZm9yIGEgd2hpbGUpLgorICAgICAg
ICBjaGFyKiB1cmkgPSBnX2ZpbGVfZ2V0X3VyaShkLT5tX2dmaWxlKTsKICAgICAgICAgUmVzb3Vy
Y2VFcnJvciByZXNvdXJjZUVycm9yKGdfcXVhcmtfdG9fc3RyaW5nKEdfSU9fRVJST1IpLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3ItPmNvZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBnX2ZpbGVfZ2V0X3VyaShkLT5tX2dmaWxlKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVyaSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGVycm9yID8gU3RyaW5nOjpmcm9tVVRGOChlcnJvci0+bWVzc2Fn
ZSkgOiBTdHJpbmcoKSk7CisgICAgICAgIGdfZnJlZSh1cmkpOwogICAgICAgICBnX2Vycm9yX2Zy
ZWUoZXJyb3IpOwogICAgICAgICBjbGVhbnVwR2lvT3BlcmF0aW9uKGQpOwogICAgICAgICBjbGll
bnQtPmRpZEZhaWwoaGFuZGxlLCByZXNvdXJjZUVycm9yKTsKQEAgLTgxNywxMCArODI1LDEyIEBA
IHN0YXRpYyB2b2lkIHF1ZXJ5SW5mb0NhbGxiYWNrKEdPYmplY3QqIHMKICAgICBpZiAoZ19maWxl
X2luZm9fZ2V0X2ZpbGVfdHlwZShpbmZvKSAhPSBHX0ZJTEVfVFlQRV9SRUdVTEFSKSB7CiAgICAg
ICAgIC8vIEZJWE1FOiB3aGF0IGlmIHRoZSBVUkkgcG9pbnRzIHRvIGEgZGlyZWN0b3J5PyBTaG91
bGQgd2UKICAgICAgICAgLy8gZ2VuZXJhdGUgYSBsaXN0aW5nPyBIb3c/IFdoYXQgZG8gb3RoZXIg
YmFja2VuZHMgZG8gaGVyZT8KKyAgICAgICAgY2hhciogdXJpID0gZ19maWxlX2dldF91cmkoZC0+
bV9nZmlsZSk7CiAgICAgICAgIFJlc291cmNlRXJyb3IgcmVzb3VyY2VFcnJvcihnX3F1YXJrX3Rv
X3N0cmluZyhHX0lPX0VSUk9SKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEdfSU9fRVJST1JfRkFJTEVELAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Z19maWxlX2dldF91cmkoZC0+bV9nZmlsZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1cmksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdHJpbmco
KSk7CisgICAgICAgIGdfZnJlZSh1cmkpOwogICAgICAgICBjbGVhbnVwR2lvT3BlcmF0aW9uKGQp
OwogICAgICAgICBjbGllbnQtPmRpZEZhaWwoaGFuZGxlLCByZXNvdXJjZUVycm9yKTsKICAgICAg
ICAgcmV0dXJuOwo=
</data>
<flag name="review"
          id="18630"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>