<?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>86872</bug_id>
          
          <creation_ts>2012-05-18 10:52:21 -0700</creation_ts>
          <short_desc>[GTK] [WK2] Memory leaks in WebKitBackForwardList</short_desc>
          <delta_ts>2012-05-18 14:35:54 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</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>1</everconfirmed>
          <reporter name="Sudarsana Nagineni (babu)">naginenis</reporter>
          <assigned_to name="Sudarsana Nagineni (babu)">naginenis</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>gustavo</cc>
    
    <cc>mrobinson</cc>
    
    <cc>pnormand</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>627811</commentid>
    <comment_count>0</comment_count>
    <who name="Sudarsana Nagineni (babu)">naginenis</who>
    <bug_when>2012-05-18 10:52:21 -0700</bug_when>
    <thetext>Valgrind reports the following memory leaks in WebKitBackForwardList. Fix these leaks by adopting an allocation of BackForwardList using AdoptWK.

==26452== 40 bytes in 1 blocks are definitely lost in loss record 3,746 of 7,883
==26452==    at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==26452==    by 0xC0F579E: WTF::fastMalloc(unsigned long) (FastMalloc.cpp:268)
==26452==    by 0x605A4A6: WTF::ThreadSafeRefCountedBase::operator new(unsigned long) (ThreadSafeRefCounted.h:72)
==26452==    by 0x608CA57: WebKit::ImmutableArray::create() (ImmutableArray.h:44)
==26452==    by 0x6133EF5: WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit(unsigned int) (WebBackForwardList.cpp:199)
==26452==    by 0x60C3BFC: WKBackForwardListCopyForwardListWithLimit (WKBackForwardList.cpp:76)
==26452==    by 0x60CEDE2: webkit_back_forward_list_get_forward_list_with_limit (WebKitBackForwardList.cpp:302)
==26452==    by 0x4093A7: browserWindowUpdateNavigationActions (BrowserWindow.c:205)
==26452==    by 0x409425: backForwadlistChanged (BrowserWindow.c:213)
==26452==    by 0x62ACE52: webkit_marshal_VOID__OBJECT_POINTER (WebKitMarshal.cpp:436)
==26452==    by 0xAF35CA1: g_closure_invoke (gclosure.c:777)
==26452==    by 0xAF46D70: signal_emit_unlocked_R (gsignal.c:3547)
==26452==    by 0xAF4F098: g_signal_emit_valist (gsignal.c:3296)
==26452==    by 0xAF4F241: g_signal_emit (gsignal.c:3352)
==26452==    by 0x60CE6D4: webkitBackForwardListChanged(_WebKitBackForwardList*, OpaqueWKBackForwardListItem const*, OpaqueWKArray const*) (WebKitBackForwardList.cpp:161)
==26452==    by 0x60D995B: didChangeBackForwardList(OpaqueWKPage const*, OpaqueWKBackForwardListItem const*, OpaqueWKArray const*, void const*) (WebKitLoaderClient.cpp:114)
==26452==    by 0x615F264: WebKit::WebLoaderClient::didChangeBackForwardList(WebKit::WebPageProxy*, WebKit::WebBackForwardListItem*, WTF::Vector&lt;WTF::RefPtr&lt;WebKit::APIObject&gt;, 0ul&gt;*) (WebLoaderClient.cpp:
==26452==    by 0x6166EE1: WebKit::WebPageProxy::didChangeBackForwardList(WebKit::WebBackForwardListItem*, WTF::Vector&lt;WTF::RefPtr&lt;WebKit::APIObject&gt;, 0ul&gt;*) (WebPageProxy.cpp:641)
==26452==    by 0x61337B3: WebKit::WebBackForwardList::goToItem(WebKit::WebBackForwardListItem*) (WebBackForwardList.cpp:115)
==26452==    by 0x616F7EB: WebKit::WebPageProxy::backForwardGoToItem(unsigned long, WebKit::SandboxExtension::Handle&amp;) (WebPageProxy.cpp:2653)
==26452==    by 0x629EE1D: void CoreIPC::callMemberFunction&lt;WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(unsigned long, WebKit::SandboxExtension::Handle&amp;), unsigned long, WebKit::SandboxExtension::
==26452==    by 0x629B9DC: void CoreIPC::handleMessage&lt;Messages::WebPageProxy::BackForwardGoToItem, WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(unsigned long, WebKit::SandboxExtension::Handle&amp;)&gt;(C
==26452==    by 0x6297B1A: WebKit::WebPageProxy::didReceiveSyncWebPageProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, WTF::OwnPtr&lt;CoreIPC::ArgumentEncoder&gt;&amp;) (WebPageProxy
==26452==    by 0x616ABEF: WebKit::WebPageProxy::didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, WTF::OwnPtr&lt;CoreIPC::ArgumentEncoder&gt;&amp;) (WebPageProxy.cpp:1759)
==26452==    by 0x619F168: WebKit::WebProcessProxy::didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, WTF::OwnPtr&lt;CoreIPC::ArgumentEncoder&gt;&amp;) (WebProcessProxy.cpp:3
==26452==    by 0x6134ED0: WebKit::WebConnectionToWebProcess::didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, WTF::OwnPtr&lt;CoreIPC::ArgumentEncoder&gt;&amp;) (WebConnecti
==26452==    by 0x6059E48: CoreIPC::Connection::dispatchSyncMessage(CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) (Connection.cpp:647)
==26452==    by 0x605A0C8: CoreIPC::Connection::dispatchMessage(CoreIPC::Connection::Message&lt;CoreIPC::ArgumentDecoder&gt;&amp;) (Connection.cpp:690)
==26452==    by 0x6057E05: CoreIPC::Connection::SyncMessageState::dispatchMessages() (Connection.cpp:169)
==26452==    by 0x6057EC8: CoreIPC::Connection::SyncMessageState::dispatchMessageAndResetDidScheduleDispatchMessagesWork() (Connection.cpp:181)
==26452==    by 0x606453B: WTF::FunctionWrapper&lt;void (CoreIPC::Connection::SyncMessageState::*)()&gt;::operator()(CoreIPC::Connection::SyncMessageState*) (Functional.h:173)
==26452==    by 0x60643C3: WTF::BoundFunctionImpl&lt;WTF::FunctionWrapper&lt;void (CoreIPC::Connection::SyncMessageState::*)()&gt;, void ()(CoreIPC::Connection::SyncMessageState*)&gt;::operator()() (Functional.h:405)
==26452==    by 0x606928D: WTF::Function&lt;void ()()&gt;::operator()() const (Functional.h:613)
==26452==    by 0x6B45054: WebCore::RunLoop::performWork() (RunLoop.cpp:67)
==26452==    by 0x754B439: WebCore::RunLoop::queueWork(WebCore::RunLoop*) (RunLoopGtk.cpp:102)
==26452==    by 0xB1BCC99: g_main_context_dispatch (gmain.c:2515)
==26452==    by 0xB1BD05F: g_main_context_iterate.isra.23 (gmain.c:3123)
==26452==    by 0xB1BD459: g_main_loop_run (gmain.c:3317)
==26452==    by 0xA6C925C: gtk_main (gtkmain.c:1165)
==26452==    by 0x40B12E: main (main.c:233)

==26452== 40 bytes in 1 blocks are definitely lost in loss record 3,747 of 7,883
==26452==    at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==26452==    by 0xC0F579E: WTF::fastMalloc(unsigned long) (FastMalloc.cpp:268)
==26452==    by 0x605A4A6: WTF::ThreadSafeRefCountedBase::operator new(unsigned long) (ThreadSafeRefCounted.h:72)
==26452==    by 0x608CA57: WebKit::ImmutableArray::create() (ImmutableArray.h:44)
==26452==    by 0x6133D51: WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit(unsigned int) (WebBackForwardList.cpp:181)
==26452==    by 0x60C3B9E: WKBackForwardListCopyBackListWithLimit (WKBackForwardList.cpp:71)
==26452==    by 0x60CEC4B: webkit_back_forward_list_get_back_list_with_limit (WebKitBackForwardList.cpp:272)
==26452==    by 0x40934A: browserWindowUpdateNavigationActions (BrowserWindow.c:200)
==26452==    by 0x409425: backForwadlistChanged (BrowserWindow.c:213)
==26452==    by 0x62ACE52: webkit_marshal_VOID__OBJECT_POINTER (WebKitMarshal.cpp:436)
==26452==    by 0xAF35CA1: g_closure_invoke (gclosure.c:777)
==26452==    by 0xAF46D70: signal_emit_unlocked_R (gsignal.c:3547)
==26452==    by 0xAF4F098: g_signal_emit_valist (gsignal.c:3296)
==26452==    by 0xAF4F241: g_signal_emit (gsignal.c:3352)
==26452==    by 0x60CE6D4: webkitBackForwardListChanged(_WebKitBackForwardList*, OpaqueWKBackForwardListItem const*, OpaqueWKArray const*) (WebKitBackForwardList.cpp:161)
==26452==    by 0x60D995B: didChangeBackForwardList(OpaqueWKPage const*, OpaqueWKBackForwardListItem const*, OpaqueWKArray const*, void const*) (WebKitLoaderClient.cpp:114)
==26452==    by 0x615F264: WebKit::WebLoaderClient::didChangeBackForwardList(WebKit::WebPageProxy*, WebKit::WebBackForwardListItem*, WTF::Vector&lt;WTF::RefPtr&lt;WebKit::APIObject&gt;, 0ul&gt;*) (WebLoaderClient.cpp:
==26452==    by 0x6166EE1: WebKit::WebPageProxy::didChangeBackForwardList(WebKit::WebBackForwardListItem*, WTF::Vector&lt;WTF::RefPtr&lt;WebKit::APIObject&gt;, 0ul&gt;*) (WebPageProxy.cpp:641)
==26452==    by 0x61335CE: WebKit::WebBackForwardList::addItem(WebKit::WebBackForwardListItem*) (WebBackForwardList.cpp:95)
==26452==    by 0x616F6DF: WebKit::WebPageProxy::backForwardAddItem(unsigned long) (WebPageProxy.cpp:2641)
==26452==    by 0x629C8E0: void CoreIPC::callMemberFunction&lt;WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(unsigned long), unsigned long&gt;(CoreIPC::Arguments1&lt;unsigned long&gt; const&amp;, WebKit::WebPagePro
==26452==    by 0x629A264: void CoreIPC::handleMessage&lt;Messages::WebPageProxy::BackForwardAddItem, WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(unsigned long)&gt;(CoreIPC::ArgumentDecoder*, WebKit::We
==26452==    by 0x6296E8B: WebKit::WebPageProxy::didReceiveWebPageProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) (WebPageProxyMessageReceiver.cpp:346)
==26452==    by 0x616AB32: WebKit::WebPageProxy::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) (WebPageProxy.cpp:1738)
==26452==    by 0x619F041: WebKit::WebProcessProxy::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) (WebProcessProxy.cpp:333)
==26452==    by 0x6134E7A: WebKit::WebConnectionToWebProcess::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) (WebConnectionToWebProcess.cpp:92)
==26452==    by 0x605A10A: CoreIPC::Connection::dispatchMessage(CoreIPC::Connection::Message&lt;CoreIPC::ArgumentDecoder&gt;&amp;) (Connection.cpp:692)
==26452==    by 0x605A2A8: CoreIPC::Connection::dispatchOneMessage() (Connection.cpp:718)
==26452==    by 0x6064445: WTF::FunctionWrapper&lt;void (CoreIPC::Connection::*)()&gt;::operator()(CoreIPC::Connection*) (Functional.h:173)
==26452==    by 0x606424B: WTF::BoundFunctionImpl&lt;WTF::FunctionWrapper&lt;void (CoreIPC::Connection::*)()&gt;, void ()(CoreIPC::Connection*)&gt;::operator()() (Functional.h:405)
==26452==    by 0x606928D: WTF::Function&lt;void ()()&gt;::operator()() const (Functional.h:613)
==26452==    by 0x6B45054: WebCore::RunLoop::performWork() (RunLoop.cpp:67)
==26452==    by 0x754B439: WebCore::RunLoop::queueWork(WebCore::RunLoop*) (RunLoopGtk.cpp:102)
==26452==    by 0xB1BCC99: g_main_context_dispatch (gmain.c:2515)
==26452==    by 0xB1BD05F: g_main_context_iterate.isra.23 (gmain.c:3123)
==26452==    by 0xB1BD459: g_main_loop_run (gmain.c:3317)
==26452==    by 0xA6C925C: gtk_main (gtkmain.c:1165)
==26452==    by 0x40B12E: main (main.c:233)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627831</commentid>
    <comment_count>1</comment_count>
      <attachid>142742</attachid>
    <who name="Sudarsana Nagineni (babu)">naginenis</who>
    <bug_when>2012-05-18 11:14:39 -0700</bug_when>
    <thetext>Created attachment 142742
Fix memory leaks

Fix memory leaks in WebKitBackForwardList.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627839</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-18 11:19:21 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627867</commentid>
    <comment_count>3</comment_count>
      <attachid>142742</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-05-18 11:41:52 -0700</bug_when>
    <thetext>Comment on attachment 142742
Fix memory leaks

Thank you very much!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627897</commentid>
    <comment_count>4</comment_count>
    <who name="Sudarsana Nagineni (babu)">naginenis</who>
    <bug_when>2012-05-18 12:06:25 -0700</bug_when>
    <thetext>Thanks for your review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628087</commentid>
    <comment_count>5</comment_count>
      <attachid>142742</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-18 14:35:50 -0700</bug_when>
    <thetext>Comment on attachment 142742
Fix memory leaks

Clearing flags on attachment: 142742

Committed r117630: &lt;http://trac.webkit.org/changeset/117630&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628088</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-18 14:35:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142742</attachid>
            <date>2012-05-18 11:14:39 -0700</date>
            <delta_ts>2012-05-18 14:35:50 -0700</delta_ts>
            <desc>Fix memory leaks</desc>
            <filename>86872.patch</filename>
            <type>text/plain</type>
            <size>3522</size>
            <attacher name="Sudarsana Nagineni (babu)">naginenis</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA5MjQyNmJmLi4yNjY4MTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMTItMDUtMTggIFN1ZGFyc2FuYSBOYWdpbmVuaSAgPHN1ZGFyc2FuYS5uYWdpbmVuaUBs
aW51eC5pbnRlbC5jb20+CisKKyAgICAgICAgW0dUS10gW1dLMl0gTWVtb3J5IGxlYWtzIGluIFdl
YktpdEJhY2tGb3J3YXJkTGlzdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODY4NzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAgRml4IG1lbW9yeSBsZWFrcyBieSBhZG9wdGluZyBXS0FycmF5IG9mIFdlYkJh
Y2tGb3J3YXJkTGlzdEl0ZW1zCisgICAgICAgICBhbGxvY2F0aW9ucyB1c2luZyBBZG9wdFdLLgor
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0QmFja0ZvcndhcmRMaXN0LmNwcDoK
KyAgICAgICAgKHdlYmtpdF9iYWNrX2ZvcndhcmRfbGlzdF9nZXRfYmFja19saXN0KToKKyAgICAg
ICAgKHdlYmtpdF9iYWNrX2ZvcndhcmRfbGlzdF9nZXRfYmFja19saXN0X3dpdGhfbGltaXQpOgor
ICAgICAgICAod2Via2l0X2JhY2tfZm9yd2FyZF9saXN0X2dldF9mb3J3YXJkX2xpc3QpOgorICAg
ICAgICAod2Via2l0X2JhY2tfZm9yd2FyZF9saXN0X2dldF9mb3J3YXJkX2xpc3Rfd2l0aF9saW1p
dCk6CisKIDIwMTItMDUtMTggIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CiAK
ICAgICAgICAgWWV0IGFub3RoZXIgdW5yZXZpZXdlZCBidWlsZCBmaXggb24gcjExNzU3MiwgdGhp
cyB0aW1lIGZvciB3azIuLi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdEJhY2tGb3J3YXJkTGlzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRCYWNrRm9yd2FyZExpc3QuY3BwCmluZGV4IDFjYWNhODYuLmViZWI5
MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEJh
Y2tGb3J3YXJkTGlzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0QmFja0ZvcndhcmRMaXN0LmNwcApAQCAtMjU0LDcgKzI1NCw4IEBAIEdMaXN0KiB3ZWJr
aXRfYmFja19mb3J3YXJkX2xpc3RfZ2V0X2JhY2tfbGlzdChXZWJLaXRCYWNrRm9yd2FyZExpc3Qq
IGJhY2tGb3J3YXJkCiAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX0JBQ0tfRk9S
V0FSRF9MSVNUKGJhY2tGb3J3YXJkTGlzdCksIDApOwogCiAgICAgZ3VpbnQgbGltaXQgPSBXS0Jh
Y2tGb3J3YXJkTGlzdEdldEJhY2tMaXN0Q291bnQoYmFja0ZvcndhcmRMaXN0LT5wcml2LT53a0xp
c3QpOwotICAgIHJldHVybiB3ZWJraXRCYWNrRm9yd2FyZExpc3RDcmVhdGVMaXN0KGJhY2tGb3J3
YXJkTGlzdCwgV0tCYWNrRm9yd2FyZExpc3RDb3B5QmFja0xpc3RXaXRoTGltaXQoYmFja0Zvcndh
cmRMaXN0LT5wcml2LT53a0xpc3QsIGxpbWl0KSk7CisgICAgV0tSZXRhaW5QdHI8V0tBcnJheVJl
Zj4gd2tMaXN0KEFkb3B0V0ssIFdLQmFja0ZvcndhcmRMaXN0Q29weUJhY2tMaXN0V2l0aExpbWl0
KGJhY2tGb3J3YXJkTGlzdC0+cHJpdi0+d2tMaXN0LCBsaW1pdCkpOworICAgIHJldHVybiB3ZWJr
aXRCYWNrRm9yd2FyZExpc3RDcmVhdGVMaXN0KGJhY2tGb3J3YXJkTGlzdCwgd2tMaXN0LmdldCgp
KTsKIH0KIAogLyoqCkBAIC0yNjksNyArMjcwLDggQEAgR0xpc3QqIHdlYmtpdF9iYWNrX2Zvcndh
cmRfbGlzdF9nZXRfYmFja19saXN0X3dpdGhfbGltaXQoV2ViS2l0QmFja0ZvcndhcmRMaXN0Kgog
ewogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19CQUNLX0ZPUldBUkRfTElTVChi
YWNrRm9yd2FyZExpc3QpLCAwKTsKIAotICAgIHJldHVybiB3ZWJraXRCYWNrRm9yd2FyZExpc3RD
cmVhdGVMaXN0KGJhY2tGb3J3YXJkTGlzdCwgV0tCYWNrRm9yd2FyZExpc3RDb3B5QmFja0xpc3RX
aXRoTGltaXQoYmFja0ZvcndhcmRMaXN0LT5wcml2LT53a0xpc3QsIGxpbWl0KSk7CisgICAgV0tS
ZXRhaW5QdHI8V0tBcnJheVJlZj4gd2tMaXN0KEFkb3B0V0ssIFdLQmFja0ZvcndhcmRMaXN0Q29w
eUJhY2tMaXN0V2l0aExpbWl0KGJhY2tGb3J3YXJkTGlzdC0+cHJpdi0+d2tMaXN0LCBsaW1pdCkp
OworICAgIHJldHVybiB3ZWJraXRCYWNrRm9yd2FyZExpc3RDcmVhdGVMaXN0KGJhY2tGb3J3YXJk
TGlzdCwgd2tMaXN0LmdldCgpKTsKIH0KIAogLyoqCkBAIC0yODQsNyArMjg2LDggQEAgR0xpc3Qq
IHdlYmtpdF9iYWNrX2ZvcndhcmRfbGlzdF9nZXRfZm9yd2FyZF9saXN0KFdlYktpdEJhY2tGb3J3
YXJkTGlzdCogYmFja0ZvcncKICAgICBnX3JldHVybl92YWxfaWZfZmFpbChXRUJLSVRfSVNfQkFD
S19GT1JXQVJEX0xJU1QoYmFja0ZvcndhcmRMaXN0KSwgMCk7CiAKICAgICBndWludCBsaW1pdCA9
IFdLQmFja0ZvcndhcmRMaXN0R2V0Rm9yd2FyZExpc3RDb3VudChiYWNrRm9yd2FyZExpc3QtPnBy
aXYtPndrTGlzdCk7Ci0gICAgcmV0dXJuIHdlYmtpdEJhY2tGb3J3YXJkTGlzdENyZWF0ZUxpc3Qo
YmFja0ZvcndhcmRMaXN0LCBXS0JhY2tGb3J3YXJkTGlzdENvcHlGb3J3YXJkTGlzdFdpdGhMaW1p
dChiYWNrRm9yd2FyZExpc3QtPnByaXYtPndrTGlzdCwgbGltaXQpKTsKKyAgICBXS1JldGFpblB0
cjxXS0FycmF5UmVmPiB3a0xpc3QoQWRvcHRXSywgV0tCYWNrRm9yd2FyZExpc3RDb3B5Rm9yd2Fy
ZExpc3RXaXRoTGltaXQoYmFja0ZvcndhcmRMaXN0LT5wcml2LT53a0xpc3QsIGxpbWl0KSk7Cisg
ICAgcmV0dXJuIHdlYmtpdEJhY2tGb3J3YXJkTGlzdENyZWF0ZUxpc3QoYmFja0ZvcndhcmRMaXN0
LCB3a0xpc3QuZ2V0KCkpOwogfQogCiAvKioKQEAgLTI5OSw1ICszMDIsNiBAQCBHTGlzdCogd2Vi
a2l0X2JhY2tfZm9yd2FyZF9saXN0X2dldF9mb3J3YXJkX2xpc3Rfd2l0aF9saW1pdChXZWJLaXRC
YWNrRm9yd2FyZExpcwogewogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19CQUNL
X0ZPUldBUkRfTElTVChiYWNrRm9yd2FyZExpc3QpLCAwKTsKIAotICAgIHJldHVybiB3ZWJraXRC
YWNrRm9yd2FyZExpc3RDcmVhdGVMaXN0KGJhY2tGb3J3YXJkTGlzdCwgV0tCYWNrRm9yd2FyZExp
c3RDb3B5Rm9yd2FyZExpc3RXaXRoTGltaXQoYmFja0ZvcndhcmRMaXN0LT5wcml2LT53a0xpc3Qs
IGxpbWl0KSk7CisgICAgV0tSZXRhaW5QdHI8V0tBcnJheVJlZj4gd2tMaXN0KEFkb3B0V0ssIFdL
QmFja0ZvcndhcmRMaXN0Q29weUZvcndhcmRMaXN0V2l0aExpbWl0KGJhY2tGb3J3YXJkTGlzdC0+
cHJpdi0+d2tMaXN0LCBsaW1pdCkpOworICAgIHJldHVybiB3ZWJraXRCYWNrRm9yd2FyZExpc3RD
cmVhdGVMaXN0KGJhY2tGb3J3YXJkTGlzdCwgd2tMaXN0LmdldCgpKTsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>