<?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>21827</bug_id>
          
          <creation_ts>2008-10-23 03:12:36 -0700</creation_ts>
          <short_desc>Memory leak in webkit_web_view_load_string</short_desc>
          <delta_ts>2008-10-27 14:46:33 -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>PC</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="Michael Tross">michael</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>mrowe</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>96310</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Tross">michael</who>
    <bug_when>2008-10-23 03:12:36 -0700</bug_when>
    <thetext>The Gtk method webkit_web_view_load_string() takes a string as gchar* argument to set the page content. This string is passed down to a SharedBuffer, but duplicated before with strdup(), this memory is lost (verified with valgrind).

void webkit_web_view_load_string(WebKitWebView* webView, const gchar* content, const gchar* contentMimeType, const gchar* contentEncoding, const 
{
    ....

    RefPtr&lt;SharedBuffer&gt; sharedBuffer = SharedBuffer::create(strdup(content), strlen(content));
    SubstituteData substituteData(sharedBuffer.release(), contentMimeType ? String(contentMimeType) : &quot;text/html&quot;, contentEncoding ? String(conte

    ....
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96311</commentid>
    <comment_count>1</comment_count>
      <attachid>24595</attachid>
    <who name="Michael Tross">michael</who>
    <bug_when>2008-10-23 03:13:42 -0700</bug_when>
    <thetext>Created attachment 24595
Patch to fix memory leak in webkit_web_view_load_string()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96400</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2008-10-23 13:34:58 -0700</bug_when>
    <thetext>This looks fine, but the patch needs a ChangeLog entry.  Can you please add one, and upload the new patch?  Be sure to set the &quot;review&quot; flag on the attachment to &quot;?&quot; when you upload the patch to indicate that you&apos;d like it reviewed!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96499</commentid>
    <comment_count>3</comment_count>
      <attachid>24638</attachid>
    <who name="Michael Tross">michael</who>
    <bug_when>2008-10-24 04:44:01 -0700</bug_when>
    <thetext>Created attachment 24638
Patch to fix memory leak in webkit_web_view_load_string()

added ChangeLog entry and requested review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96511</commentid>
    <comment_count>4</comment_count>
      <attachid>24638</attachid>
    <who name="Alp Toker">alp</who>
    <bug_when>2008-10-24 09:28:28 -0700</bug_when>
    <thetext>Comment on attachment 24638
Patch to fix memory leak in webkit_web_view_load_string()

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96786</commentid>
    <comment_count>5</comment_count>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2008-10-27 14:46:33 -0700</bug_when>
    <thetext>Landed in r37903. Cheers.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24595</attachid>
            <date>2008-10-23 03:13:42 -0700</date>
            <delta_ts>2008-10-24 04:44:01 -0700</delta_ts>
            <desc>Patch to fix memory leak in webkit_web_view_load_string()</desc>
            <filename>webview-leak.patch</filename>
            <type>text/plain</type>
            <size>740</size>
            <attacher name="Michael Tross">michael</attacher>
            
              <data encoding="base64">LS0tIC4vV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAub3JpZwkyMDA4LTEwLTA1
IDAxOjUxOjE4LjAwMDAwMDAwMCArMDIwMAorKysgLi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3
ZWJ2aWV3LmNwcAkyMDA4LTEwLTIzIDA5OjM1OjE4LjAwMDAwMDAwMCArMDIwMApAQCAtMTY1Niw3
ICsxNjU2LDcgQEAKICAgICBGcmFtZSogZnJhbWUgPSBjb3JlKHdlYlZpZXcpLT5tYWluRnJhbWUo
KTsKIAogICAgIEtVUkwgdXJsKGJhc2VVcmkgPyBTdHJpbmc6OmZyb21VVEY4KGJhc2VVcmkpIDog
IiIpOwotICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IHNoYXJlZEJ1ZmZlciA9IFNoYXJlZEJ1ZmZl
cjo6Y3JlYXRlKHN0cmR1cChjb250ZW50KSwgc3RybGVuKGNvbnRlbnQpKTsKKyAgICBSZWZQdHI8
U2hhcmVkQnVmZmVyPiBzaGFyZWRCdWZmZXIgPSBTaGFyZWRCdWZmZXI6OmNyZWF0ZShjb250ZW50
LCBzdHJsZW4oY29udGVudCkpOwogICAgIFN1YnN0aXR1dGVEYXRhIHN1YnN0aXR1dGVEYXRhKHNo
YXJlZEJ1ZmZlci5yZWxlYXNlKCksIGNvbnRlbnRNaW1lVHlwZSA/IFN0cmluZyhjb250ZW50TWlt
ZVR5cGUpIDogInRleHQvaHRtbCIsIGNvbnRlbnRFbmNvZGluZyA/IFN0cmluZyhjb250ZW50RW5j
b2RpbmcpIDogIlVURi04IiwgS1VSTCgiYWJvdXQ6YmxhbmsiKSwgdXJsKTsKIAogICAgIGZyYW1l
LT5sb2FkZXIoKS0+bG9hZChSZXNvdXJjZVJlcXVlc3QodXJsKSwgc3Vic3RpdHV0ZURhdGEpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24638</attachid>
            <date>2008-10-24 04:44:01 -0700</date>
            <delta_ts>2008-10-24 09:28:28 -0700</delta_ts>
            <desc>Patch to fix memory leak in webkit_web_view_load_string()</desc>
            <filename>webkit-webview-load-string-leak.patch</filename>
            <type>text/plain</type>
            <size>1385</size>
            <attacher name="Michael Tross">michael</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
aW5kZXggNTQ4ZTljZS4uYTBhYjM3OSAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAwOC0xMC0yNCAg
TWljaGFlbCBUcm9zcyAgPG1pY2hhZWxAdHJvc3Mub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTgyNworICAgICAgICBbR1RLXSBGaXggbWVtb3J5IGxlYWsgaW4gd2Via2l0
X3dlYl92aWV3X2xvYWRfc3RyaW5nCisKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2Vidmlldy5j
cHA6CisKIDIwMDgtMTAtMjIgIEFscCBUb2tlciAgPGFscEBudWFudGkuY29tPgogCiAgICAgICAg
IEJ1aWxkIGZpeCBmb3Igb2xkZXIgR1RLKyB2ZXJzaW9ucyB3aGVyZSBHVEtfVFlQRV9UQVJHRVRf
TElTVCBpc24ndApkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5j
cHAgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAppbmRleCAzYWMwOGMyLi41
OWYxMmY4IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAor
KysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcApAQCAtMTcxMSw3ICsxNzEx
LDcgQEAgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfbG9hZF9zdHJpbmcoV2ViS2l0V2ViVmlldyogd2Vi
VmlldywgY29uc3QgZ2NoYXIqIGNvbnRlbnQsIGMKICAgICBGcmFtZSogZnJhbWUgPSBjb3JlKHdl
YlZpZXcpLT5tYWluRnJhbWUoKTsKIAogICAgIEtVUkwgdXJsKGJhc2VVcmkgPyBTdHJpbmc6OmZy
b21VVEY4KGJhc2VVcmkpIDogIiIpOwotICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IHNoYXJlZEJ1
ZmZlciA9IFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKHN0cmR1cChjb250ZW50KSwgc3RybGVuKGNvbnRl
bnQpKTsKKyAgICBSZWZQdHI8U2hhcmVkQnVmZmVyPiBzaGFyZWRCdWZmZXIgPSBTaGFyZWRCdWZm
ZXI6OmNyZWF0ZShjb250ZW50LCBzdHJsZW4oY29udGVudCkpOwogICAgIFN1YnN0aXR1dGVEYXRh
IHN1YnN0aXR1dGVEYXRhKHNoYXJlZEJ1ZmZlci5yZWxlYXNlKCksIGNvbnRlbnRNaW1lVHlwZSA/
IFN0cmluZyhjb250ZW50TWltZVR5cGUpIDogInRleHQvaHRtbCIsIGNvbnRlbnRFbmNvZGluZyA/
IFN0cmluZyhjb250ZW50RW5jb2RpbmcpIDogIlVURi04IiwgS1VSTCgiYWJvdXQ6YmxhbmsiKSwg
dXJsKTsKIAogICAgIGZyYW1lLT5sb2FkZXIoKS0+bG9hZChSZXNvdXJjZVJlcXVlc3QodXJsKSwg
c3Vic3RpdHV0ZURhdGEpOwo=
</data>
<flag name="review"
          id="11255"
          type_id="1"
          status="+"
          setter="alp"
    />
          </attachment>
      

    </bug>

</bugzilla>