<?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>91068</bug_id>
          
          <creation_ts>2012-07-12 03:19:02 -0700</creation_ts>
          <short_desc>[EFL] [WK2] regression(r122411) Crashes in Ewk_View</short_desc>
          <delta_ts>2012-07-12 06:39:43 -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>WebKit EFL</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="Chris Dumez">cdumez</assigned_to>
          <cc>cdumez</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>haraken</cc>
    
    <cc>kenneth</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>tmpsantos</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>667584</commentid>
    <comment_count>0</comment_count>
    <who name="Sudarsana Nagineni (babu)">naginenis</who>
    <bug_when>2012-07-12 03:19:02 -0700</bug_when>
    <thetext>(gdb) bt
#0  0x00007f1008dd1c6e in WTF::OwnPtr&lt;WTF::Mutex&gt;::operator* (this=0x16f98d8) at WebKit/Source/WTF/wtf/OwnPtr.h:63
#1  0x00007f1008f72823 in WTF::addIterator&lt;unsigned long, std::pair&lt;unsigned long, _Ewk_Web_Resource*&gt;, WTF::PairFirstExtractor&lt;std::pair&lt;unsigned long, _Ewk_Web_Resource*&gt; &gt;, WTF::IntHash&lt;unsigned long&gt;, WTF::HashMapValueTraits&lt;WTF::HashTraits&lt;unsigned long&gt;, WTF::HashTraits&lt;_Ewk_Web_Resource*&gt; &gt;, WTF::HashTraits&lt;unsigned long&gt; &gt; (table=0x16f98b8, it=0x7fff602b7ce0)
    at WebKit/Source/WTF/wtf/HashTable.h:1136
#2  0x00007f1008f73af2 in WTF::HashTableConstIterator&lt;unsigned long, std::pair&lt;unsigned long, _Ewk_Web_Resource*&gt;, WTF::PairFirstExtractor&lt;std::pair&lt;unsigned long, _Ewk_Web_Resource*&gt; &gt;, WTF::IntHash&lt;unsigned long&gt;, WTF::HashMapValueTraits&lt;WTF::HashTraits&lt;unsigned long&gt;, WTF::HashTraits&lt;_Ewk_Web_Resource*&gt; &gt;, WTF::HashTraits&lt;unsigned long&gt; &gt;::HashTableConstIterator (this=0x7fff602b7ce0, table=0x16f98b8, 
    position=0x0, endPosition=0x0) at WebKit/Source/WTF/wtf/HashTable.h:132
#3  0x00007f1008f736e6 in WTF::HashTableIterator&lt;unsigned long, std::pair&lt;unsigned long, _Ewk_Web_Resource*&gt;, WTF::PairFirstExtractor&lt;std::pair&lt;unsigned long, _Ewk_Web_Resource*&gt; &gt;, WTF::IntHash&lt;unsigned long&gt;, WTF::HashMapValueTraits&lt;WTF::HashTraits&lt;unsigned long&gt;, WTF::HashTraits&lt;_Ewk_Web_Resource*&gt; &gt;, WTF::HashTraits&lt;unsigned long&gt; &gt;::HashTableIterator (this=0x7fff602b7ce0, table=0x16f98b8, pos=0x0, 
    end=0x0, tag=WTF::HashItemKnownGood) at WebKit/Source/WTF/wtf/HashTable.h:252
#4  0x00007f1008f7306a in WTF::HashTable&lt;unsigned long, std::pair&lt;unsigned long, _Ewk_Web_Resource*&gt;, WTF::PairFirstExtractor&lt;std::pair&lt;unsigned long, _Ewk_Web_Resource*&gt; &gt;, WTF::IntHash&lt;unsigned long&gt;, WTF::HashMapValueTraits&lt;WTF::HashTraits&lt;unsigned long&gt;, WTF::HashTraits&lt;_Ewk_Web_Resource*&gt; &gt;, WTF::HashTraits&lt;unsigned long&gt; &gt;::makeKnownGoodIterator (this=0x16f98b8, pos=0x0)
    at WebKit/Source/WTF/wtf/HashTable.h:425
#5  0x00007f1008f7294c in WTF::HashTable&lt;unsigned long, std::pair&lt;unsigned long, _Ewk_Web_Resource*&gt;, WTF::PairFirstExtractor&lt;std::pair&lt;unsigned long, _Ewk_Web_Resource*&gt; &gt;, WTF::IntHash&lt;unsigned long&gt;, WTF::HashMapValueTraits&lt;WTF::HashTraits&lt;unsigned long&gt;, WTF::HashTraits&lt;_Ewk_Web_Resource*&gt; &gt;, WTF::HashTraits&lt;unsigned long&gt; &gt;::end (this=0x16f98b8) at WebKit/Source/WTF/wtf/HashTable.h:341
#6  0x00007f1008f7278b in WTF::HashTable&lt;unsigned long, std::pair&lt;unsigned long, _Ewk_Web_Resource*&gt;, WTF::PairFirstExtractor&lt;std::pair&lt;unsigned long, _Ewk_Web_Resource*&gt; &gt;, WTF::IntHash&lt;unsigned long&gt;, WTF::HashMapValueTraits&lt;WTF::HashTraits&lt;unsigned long&gt;, WTF::HashTraits&lt;_Ewk_Web_Resource*&gt; &gt;, WTF::HashTraits&lt;unsigned long&gt; &gt;::begin (this=0x16f98b8) at WebKit/Source/WTF/wtf/HashTable.h:340
#7  0x00007f1008f72145 in WTF::HashMap&lt;unsigned long, _Ewk_Web_Resource*, WTF::IntHash&lt;unsigned long&gt;, WTF::HashTraits&lt;unsigned long&gt;, WTF::HashTraits&lt;_Ewk_Web_Resource*&gt; &gt;::begin (this=0x16f98b8)
    at WebKit/Source/WTF/wtf/HashMap.h:268
#8  0x00007f1008f71397 in ewk_view_load_provisional_started (ewkView=0x16cc1d0) at WebKit/Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:871
#9  0x00007f1008f7423f in didStartProvisionalLoadForFrame (page=0x16fbd60, frame=0x1727a20, userData=0x0, clientInfo=0x16cc1d0)
    at WebKit/Source/WebKit2/UIProcess/API/efl/ewk_view_loader_client.cpp:103
#10 0x00007f1008e5a043 in WebKit::WebLoaderClient::didStartProvisionalLoadForFrame (this=0x16fbd88, page=0x16fbd60, frame=0x1727a20, userData=0x0)
    at WebKit/Source/WebKit2/UIProcess/WebLoaderClient.cpp:48
#11 0x00007f1008e6924b in WebKit::WebPageProxy::didStartProvisionalLoadForFrame (this=0x16fbd60, frameID=1, url=&quot;http://www.google.com/&quot;, unreachableURL=&quot;(null)&quot;, arguments=0x7f0fa4000b30)
    at WebKit/Source/WebKit2/UIProcess/WebPageProxy.cpp:1923
#12 0x00007f1008f904eb in CoreIPC::callMemberFunction&lt;WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(unsigned long, WTF::String const&amp;, WTF::String const&amp;, CoreIPC::ArgumentDecoder*), unsigned long, WTF::String, WTF::String&gt; (args=..., argumentDecoder=0x7f0fa4000b30, object=0x16fbd60, function=
    (void (WebKit::WebPageProxy::*)(WebKit::WebPageProxy * const, unsigned long, const WTF::String &amp;, const WTF::String &amp;, CoreIPC::ArgumentDecoder *)) 0x7f1008e6903a &lt;WebKit::WebPageProxy::didStartProvisionalLoadForFrame(unsigned long, WTF::String const&amp;, WTF::String const&amp;, CoreIPC::ArgumentDecoder*)&gt;) at WebKit/Source/WebKit2/Platform/CoreIPC/HandleMessage.h:247
#13 0x00007f1008f8caf0 in CoreIPC::handleMessageVariadic&lt;Messages::WebPageProxy::DidStartProvisionalLoadForFrame, WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(unsigned long, WTF::String const&amp;, WTF::String const&amp;, CoreIPC::ArgumentDecoder*)&gt; (argumentDecoder=0x7f0fa4000b30, object=0x16fbd60, function=
    (void (WebKit::WebPageProxy::*)(WebKit::WebPageProxy * const, unsigned long, const WTF::String &amp;, const WTF::String &amp;, CoreIPC::ArgumentDecoder *)) 0x7f1008e6903a &lt;WebKit::WebPageProxy::didStartProvisionalLoadForFrame(unsigned long, WTF::String const&amp;, WTF::String const&amp;, CoreIPC::ArgumentDecoder*)&gt;) at WebKit/Source/WebKit2/Platform/CoreIPC/HandleMessage.h:332
#14 0x00007f1008f89c44 in WebKit::WebPageProxy::didReceiveWebPageProxyMessage (this=0x16fbd60, messageID=..., arguments=0x7f0fa4000b30)
    at WebKit/WebKitBuild/Debug/DerivedSources/WebKit2/WebPageProxyMessageReceiver.cpp:301
#15 0x00007f1008e6821b in WebKit::WebPageProxy::didReceiveMessage (this=0x16fbd60, connection=0x16d2ff0, messageID=..., arguments=0x7f0fa4000b30)
    at WebKit/Source/WebKit2/UIProcess/WebPageProxy.cpp:1771
#16 0x00007f1008e9f0ae in WebKit::WebProcessProxy::didReceiveMessage (this=0x16fb340, connection=0x16d2ff0, messageID=..., arguments=0x7f0fa4000b30)
    at WebKit/Source/WebKit2/UIProcess/WebProcessProxy.cpp:336
#17 0x00007f1008e2caff in WebKit::WebConnectionToWebProcess::didReceiveMessage (this=0x16fe6f0, connection=0x16d2ff0, messageID=..., arguments=0x7f0fa4000b30)
    at WebKit/Source/WebKit2/UIProcess/WebConnectionToWebProcess.cpp:92
#18 0x00007f1008dd83db in CoreIPC::Connection::dispatchMessage (this=0x16d2ff0, message=...) at WebKit/Source/WebKit2/Platform/CoreIPC/Connection.cpp:691
#19 0x00007f1008dd8579 in CoreIPC::Connection::dispatchOneMessage (this=0x16d2ff0) at WebKit/Source/WebKit2/Platform/CoreIPC/Connection.cpp:717
#20 0x00007f1008de246c in WTF::FunctionWrapper&lt;void (CoreIPC::Connection::*)()&gt;::operator() (this=0x7f0fa4000c00, c=0x16d2ff0) at WebKit/Source/WTF/wtf/Functional.h:173
#21 0x00007f1008de2272 in WTF::BoundFunctionImpl&lt;WTF::FunctionWrapper&lt;void (CoreIPC::Connection::*)()&gt;, void (CoreIPC::Connection*)&gt;::operator()() (this=0x7f0fa4000bf0)
    at WebKit/Source/WTF/wtf/Functional.h:405
#22 0x00007f1008f329f2 in WTF::Function&lt;void ()&gt;::operator()() const (this=0x7fff602b8840) at WebKit/Source/WTF/wtf/Functional.h:613
#23 0x00007f1003ea578e in WebCore::RunLoop::performWork (this=0x16da100) at WebKit/Source/WebCore/platform/RunLoop.cpp:102
#24 0x00007f1004893dd7 in WebCore::RunLoop::wakeUpEvent (data=0x16da100) at WebKit/Source/WebCore/platform/efl/RunLoopEfl.cpp:100
#25 0x00007f1009364061 in _ecore_pipe_read (data=0x168b750, fd_handler=&lt;optimized out&gt;) at ecore_pipe.c:625
#26 0x00007f1009363131 in _ecore_call_fd_cb (data=&lt;optimized out&gt;, func=&lt;optimized out&gt;, fd_handler=0x168be50) at ecore_private.h:343
#27 _ecore_main_fd_handlers_call () at ecore_main.c:1562
#28 _ecore_main_loop_iterate_internal (once_only=0) at ecore_main.c:1809
#29 0x00007f1009363677 in ecore_main_loop_begin () at ecore_main.c:931
#30 0x0000000000401db3 in main (argc=1, argv=0x7fff602b8a88) at WebKit/Tools/MiniBrowser/efl/main.c:201</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667585</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-07-12 03:22:42 -0700</bug_when>
    <thetext>I cannot reproduce in release. I&apos;ll try a debug build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667604</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-07-12 04:10:24 -0700</bug_when>
    <thetext>This happens in debug mode only because CHECK_HASHTABLE_ITERATORS flag is turned on. For some reason, the m_mutex property of the WTF::HashTable is null, which seems impossible since it is properly initialized in the HashTable constructor.

This happens when requesting the begin() iterator of an empty HashTable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667635</commentid>
    <comment_count>3</comment_count>
      <attachid>151912</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-07-12 05:00:50 -0700</bug_when>
    <thetext>Created attachment 151912
Patch

Turns out this was caused by calloc() overwriting with zeros structure members that are not pointers (e.g. HashMap members). This patch removes usage of calloc() and uses the new operator instead since it is too bug prone when extending structures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667657</commentid>
    <comment_count>4</comment_count>
    <who name="Sudarsana Nagineni (babu)">naginenis</who>
    <bug_when>2012-07-12 05:26:04 -0700</bug_when>
    <thetext>LGTM. Thanks for fixing the crash.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667677</commentid>
    <comment_count>5</comment_count>
    <who name="Thiago Marcos P. Santos">tmpsantos</who>
    <bug_when>2012-07-12 05:48:01 -0700</bug_when>
    <thetext>LGTM.

The difference between calloc and new is basically that [c|m]alloc doesn&apos;t call the constructor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667686</commentid>
    <comment_count>6</comment_count>
      <attachid>151927</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-07-12 05:54:07 -0700</bug_when>
    <thetext>Created attachment 151927
Patch

Use constructors instead of post initialization, as advised by Haraken.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667687</commentid>
    <comment_count>7</comment_count>
      <attachid>151927</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-07-12 05:56:14 -0700</bug_when>
    <thetext>Comment on attachment 151927
Patch

LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667724</commentid>
    <comment_count>8</comment_count>
      <attachid>151927</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-12 06:39:37 -0700</bug_when>
    <thetext>Comment on attachment 151927
Patch

Clearing flags on attachment: 151927

Committed r122452: &lt;http://trac.webkit.org/changeset/122452&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667725</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-12 06:39:43 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151912</attachid>
            <date>2012-07-12 05:00:50 -0700</date>
            <delta_ts>2012-07-12 05:54:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>91068_no_calloc.patch</filename>
            <type>text/plain</type>
            <size>10621</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBlOTFiOTg5Li42ZTU1NzljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEg
QEAKKzIwMTItMDctMTIgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVs
LmNvbT4KKworICAgICAgICBbRUZMXSBbV0syXSByZWdyZXNzaW9uKHIxMjI0MTEpIENyYXNoZXMg
aW4gRXdrX1ZpZXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTkxMDY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQXZvaWQgdXNpbmcgY2FsbG9jKCkgdG8gYWxsb2NhdGUgbWVtb3J5IGZvciBzdHJ1Y3R1cmVz
CisgICAgICAgIGFuZCB1c2UgbmV3IG9wZXJhdG9yIGluc3RlYWQuIGNhbGxvYygpIGNhdXNlcyB1
bndhbnRlZAorICAgICAgICBiZWhhdmlvciB3aGVuIGFsbG9jaW5nIGEgc3RydWN0dXJlIHdoaWNo
IGNvbnRhaW5zCisgICAgICAgIG5vbi1wb2ludGVyIHR5cGVzIChlLmcuIGEgSGFzaE1hcCkgYW5k
IGxlYWRzIHRvCisgICAgICAgIGNyYXNoZXMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfaW50ZW50LmNwcDoKKyAgICAgICAgKGV3a19pbnRlbnRfdW5yZWYpOgorICAgICAgICAo
ZXdrX2ludGVudF9uZXcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19pbnRlbnRf
c2VydmljZS5jcHA6CisgICAgICAgIChld2tfaW50ZW50X3NlcnZpY2VfdW5yZWYpOgorICAgICAg
ICAoZXdrX2ludGVudF9zZXJ2aWNlX25ldyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwv
ZXdrX25hdmlnYXRpb25fcG9saWN5X2RlY2lzaW9uLmNwcDoKKyAgICAgICAgKGV3a19uYXZpZ2F0
aW9uX3BvbGljeV9kZWNpc2lvbl9mcmVlKToKKyAgICAgICAgKGV3a19uYXZpZ2F0aW9uX3BvbGlj
eV9kZWNpc2lvbl9uZXcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a191cmxfcmVx
dWVzdC5jcHA6CisgICAgICAgIChld2tfdXJsX3JlcXVlc3RfdW5yZWYpOgorICAgICAgICAoZXdr
X3VybF9yZXF1ZXN0X25ldyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3VybF9y
ZXNwb25zZS5jcHA6CisgICAgICAgIChld2tfdXJsX3Jlc3BvbnNlX3VucmVmKToKKyAgICAgICAg
KGV3a191cmxfcmVzcG9uc2VfbmV3KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tf
dmlldy5jcHA6CisgICAgICAgIChfZXdrX3ZpZXdfcHJpdl9uZXcpOgorICAgICAgICAoX2V3a192
aWV3X3ByaXZfZGVsKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfd2ViX2Vycm9y
LmNwcDoKKyAgICAgICAgKGV3a193ZWJfZXJyb3JfZnJlZSk6CisgICAgICAgIChld2tfd2ViX2Vy
cm9yX25ldyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3dlYl9yZXNvdXJjZS5j
cHA6CisgICAgICAgIChld2tfd2ViX3Jlc291cmNlX3VucmVmKToKKyAgICAgICAgKGV3a193ZWJf
cmVzb3VyY2VfbmV3KToKKwogMjAxMi0wNy0xMSAgQW5kcmFzIEJlY3NpICA8YW5kcmFzLmJlY3Np
QG5va2lhLmNvbT4KIAogICAgICAgICBbUXRdW1dLMl0gQVNTRVJUOiAiIW1fdmlld3BvcnRJdGVt
LT5pc01vdmluZygpIiBpbiBRdFZpZXdwb3J0SGFuZGxlcjo6ZmxpY2tNb3ZlRW5kZWQoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2ludGVudC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfaW50ZW50LmNwcAppbmRleCA2
M2I5ZWUzLi4xZjE3MDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfaW50ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfaW50ZW50LmNwcApAQCAtODIsNyArODIsNyBAQCB2b2lkIGV3a19pbnRlbnRfdW5yZWYo
RXdrX0ludGVudCogaW50ZW50KQogICAgIGVpbmFfc3RyaW5nc2hhcmVfZGVsKGludGVudC0+YWN0
aW9uKTsKICAgICBlaW5hX3N0cmluZ3NoYXJlX2RlbChpbnRlbnQtPnR5cGUpOwogICAgIGVpbmFf
c3RyaW5nc2hhcmVfZGVsKGludGVudC0+c2VydmljZSk7Ci0gICAgZnJlZShpbnRlbnQpOworICAg
IGRlbGV0ZSBpbnRlbnQ7CiAjZW5kaWYKIH0KIApAQCAtMTkyLDkgKzE5MiwxMiBAQCBFd2tfSW50
ZW50KiBld2tfaW50ZW50X25ldyhXS0ludGVudERhdGFSZWYgaW50ZW50RGF0YSkKIHsKICAgICBF
SU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoaW50ZW50RGF0YSwgMCk7CiAKLSAgICBFd2tf
SW50ZW50KiBld2tJbnRlbnQgPSBzdGF0aWNfY2FzdDxFd2tfSW50ZW50Kj4oY2FsbG9jKDEsIHNp
emVvZihFd2tfSW50ZW50KSkpOworICAgIEV3a19JbnRlbnQqIGV3a0ludGVudCA9IG5ldyBFd2tf
SW50ZW50OwogICAgIGV3a0ludGVudC0+X19yZWYgPSAxOwogICAgIGV3a0ludGVudC0+d2tJbnRl
bnQgPSBpbnRlbnREYXRhOworICAgIGV3a0ludGVudC0+YWN0aW9uID0gMDsKKyAgICBld2tJbnRl
bnQtPnR5cGUgPSAwOworICAgIGV3a0ludGVudC0+c2VydmljZSA9IDA7CiAKICAgICByZXR1cm4g
ZXdrSW50ZW50OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX2ludGVudF9zZXJ2aWNlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19pbnRlbnRfc2VydmljZS5jcHAKaW5kZXggYmU5Yjg0NC4uN2I0OGYxNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2ludGVudF9zZXJ2aWNl
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfaW50ZW50X3Nl
cnZpY2UuY3BwCkBAIC04NCw3ICs4NCw3IEBAIHZvaWQgZXdrX2ludGVudF9zZXJ2aWNlX3VucmVm
KEV3a19JbnRlbnRfU2VydmljZSogc2VydmljZSkKICAgICBlaW5hX3N0cmluZ3NoYXJlX2RlbChz
ZXJ2aWNlLT5ocmVmKTsKICAgICBlaW5hX3N0cmluZ3NoYXJlX2RlbChzZXJ2aWNlLT50aXRsZSk7
CiAgICAgZWluYV9zdHJpbmdzaGFyZV9kZWwoc2VydmljZS0+ZGlzcG9zaXRpb24pOwotICAgIGZy
ZWUoc2VydmljZSk7CisgICAgZGVsZXRlIHNlcnZpY2U7CiAjZW5kaWYKIH0KIApAQCAtMTY4LDkg
KzE2OCwxNCBAQCBFd2tfSW50ZW50X1NlcnZpY2UqIGV3a19pbnRlbnRfc2VydmljZV9uZXcoV0tJ
bnRlbnRTZXJ2aWNlSW5mb1JlZiB3a1NlcnZpY2UpCiB7CiAgICAgRUlOQV9TQUZFVFlfT05fTlVM
TF9SRVRVUk5fVkFMKHdrU2VydmljZSwgMCk7CiAKLSAgICBFd2tfSW50ZW50X1NlcnZpY2UqIGV3
a0ludGVudFNlcnZpY2UgPSBzdGF0aWNfY2FzdDxFd2tfSW50ZW50X1NlcnZpY2UqPihjYWxsb2Mo
MSwgc2l6ZW9mKEV3a19JbnRlbnRfU2VydmljZSkpKTsKKyAgICBFd2tfSW50ZW50X1NlcnZpY2Uq
IGV3a0ludGVudFNlcnZpY2UgPSBuZXcgRXdrX0ludGVudF9TZXJ2aWNlOwogICAgIGV3a0ludGVu
dFNlcnZpY2UtPl9fcmVmID0gMTsKICAgICBld2tJbnRlbnRTZXJ2aWNlLT53a1NlcnZpY2UgPSB3
a1NlcnZpY2U7CisgICAgZXdrSW50ZW50U2VydmljZS0+YWN0aW9uID0gMDsKKyAgICBld2tJbnRl
bnRTZXJ2aWNlLT50eXBlID0gMDsKKyAgICBld2tJbnRlbnRTZXJ2aWNlLT5ocmVmID0gMDsKKyAg
ICBld2tJbnRlbnRTZXJ2aWNlLT50aXRsZSA9IDA7CisgICAgZXdrSW50ZW50U2VydmljZS0+ZGlz
cG9zaXRpb24gPSAwOwogCiAgICAgcmV0dXJuIGV3a0ludGVudFNlcnZpY2U7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfbmF2aWdhdGlvbl9wb2xp
Y3lfZGVjaXNpb24uY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX25h
dmlnYXRpb25fcG9saWN5X2RlY2lzaW9uLmNwcAppbmRleCA0YzkyM2VmLi5mZWJkZmRhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfbmF2aWdhdGlvbl9w
b2xpY3lfZGVjaXNpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L2V3a19uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbi5jcHAKQEAgLTU5LDcgKzU5LDcgQEAgdm9p
ZCBld2tfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb25fZnJlZShFd2tfTmF2aWdhdGlvbl9Qb2xp
Y3lfRGVjaXNpb24qIGRlY2lzaW8KIAogICAgIGV3a191cmxfcmVxdWVzdF91bnJlZihkZWNpc2lv
bi0+cmVxdWVzdCk7CiAgICAgZWluYV9zdHJpbmdzaGFyZV9kZWwoZGVjaXNpb24tPmZyYW1lTmFt
ZSk7Ci0gICAgZnJlZShkZWNpc2lvbik7CisgICAgZGVsZXRlIGRlY2lzaW9uOwogfQogCiBFd2tf
TmF2aWdhdGlvbl9UeXBlIGV3a19uYXZpZ2F0aW9uX3BvbGljeV9uYXZpZ2F0aW9uX3R5cGVfZ2V0
KGNvbnN0IEV3a19OYXZpZ2F0aW9uX1BvbGljeV9EZWNpc2lvbiogZGVjaXNpb24pCkBAIC0xNDMs
OCArMTQzLDkgQEAgQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFVkVOVF9NT0RJRklFUl9L
RVlfTUVUQSwga1dLRXZlbnRNb2RpZmllcnNNZXRhS2V5KTsKIAogRXdrX05hdmlnYXRpb25fUG9s
aWN5X0RlY2lzaW9uKiBld2tfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb25fbmV3KFdLRnJhbWVO
YXZpZ2F0aW9uVHlwZSBuYXZpZ2F0aW9uVHlwZSwgV0tFdmVudE1vdXNlQnV0dG9uIG1vdXNlQnV0
dG9uLCBXS0V2ZW50TW9kaWZpZXJzIG1vZGlmaWVycywgV0tVUkxSZXF1ZXN0UmVmIHJlcXVlc3Qs
IGNvbnN0IGNoYXIqIGZyYW1lTmFtZSwgV0tGcmFtZVBvbGljeUxpc3RlbmVyUmVmIGxpc3RlbmVy
KQogewotICAgIEV3a19OYXZpZ2F0aW9uX1BvbGljeV9EZWNpc2lvbiogZXdrUG9saWN5RGVjaXNp
b24gPSBzdGF0aWNfY2FzdDxFd2tfTmF2aWdhdGlvbl9Qb2xpY3lfRGVjaXNpb24qPihjYWxsb2Mo
MSwgc2l6ZW9mKEV3a19OYXZpZ2F0aW9uX1BvbGljeV9EZWNpc2lvbikpKTsKKyAgICBFd2tfTmF2
aWdhdGlvbl9Qb2xpY3lfRGVjaXNpb24qIGV3a1BvbGljeURlY2lzaW9uID0gbmV3IEV3a19OYXZp
Z2F0aW9uX1BvbGljeV9EZWNpc2lvbjsKICAgICBld2tQb2xpY3lEZWNpc2lvbi0+bGlzdGVuZXIg
PSBsaXN0ZW5lcjsKKyAgICBld2tQb2xpY3lEZWNpc2lvbi0+YWN0ZWRVcG9uQnlDbGllbnQgPSBm
YWxzZTsKICAgICBld2tQb2xpY3lEZWNpc2lvbi0+bW91c2VCdXR0b24gPSBzdGF0aWNfY2FzdDxF
dmVudF9Nb3VzZV9CdXR0b24+KG1vdXNlQnV0dG9uKTsKICAgICBld2tQb2xpY3lEZWNpc2lvbi0+
bW9kaWZpZXJzID0gc3RhdGljX2Nhc3Q8RXZlbnRfTW9kaWZpZXJfS2V5cz4obW9kaWZpZXJzKTsK
ICAgICBld2tQb2xpY3lEZWNpc2lvbi0+bmF2aWdhdGlvblR5cGUgPSBzdGF0aWNfY2FzdDxFd2tf
TmF2aWdhdGlvbl9UeXBlPihuYXZpZ2F0aW9uVHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3JlcXVlc3QuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3VybF9yZXF1ZXN0LmNwcAppbmRleCAwYWE4NzRiLi44
MzAyYTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tf
dXJsX3JlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3
a191cmxfcmVxdWVzdC5jcHAKQEAgLTc3LDcgKzc3LDcgQEAgdm9pZCBld2tfdXJsX3JlcXVlc3Rf
dW5yZWYoRXdrX1VybF9SZXF1ZXN0KiByZXF1ZXN0KQogICAgIGVpbmFfc3RyaW5nc2hhcmVfZGVs
KHJlcXVlc3QtPnVybCk7CiAgICAgZWluYV9zdHJpbmdzaGFyZV9kZWwocmVxdWVzdC0+Zmlyc3Rf
cGFydHkpOwogICAgIGVpbmFfc3RyaW5nc2hhcmVfZGVsKHJlcXVlc3QtPmh0dHBfbWV0aG9kKTsK
LSAgICBmcmVlKHJlcXVlc3QpOworICAgIGRlbGV0ZSByZXF1ZXN0OwogfQogCiBjb25zdCBjaGFy
KiBld2tfdXJsX3JlcXVlc3RfdXJsX2dldChjb25zdCBFd2tfVXJsX1JlcXVlc3QqIHJlcXVlc3Qp
CkBAIC0xMTksOSArMTE5LDEyIEBAIEV3a19VcmxfUmVxdWVzdCogZXdrX3VybF9yZXF1ZXN0X25l
dyhXS1VSTFJlcXVlc3RSZWYgd2tVcmxSZXF1ZXN0KQogewogICAgIEVJTkFfU0FGRVRZX09OX05V
TExfUkVUVVJOX1ZBTCh3a1VybFJlcXVlc3QsIDApOwogCi0gICAgRXdrX1VybF9SZXF1ZXN0KiBl
d2tVcmxSZXF1ZXN0ID0gc3RhdGljX2Nhc3Q8RXdrX1VybF9SZXF1ZXN0Kj4oY2FsbG9jKDEsIHNp
emVvZihFd2tfVXJsX1JlcXVlc3QpKSk7CisgICAgRXdrX1VybF9SZXF1ZXN0KiBld2tVcmxSZXF1
ZXN0ID0gbmV3IEV3a19VcmxfUmVxdWVzdDsKICAgICBld2tVcmxSZXF1ZXN0LT5fX3JlZiA9IDE7
CiAgICAgZXdrVXJsUmVxdWVzdC0+d2tSZXF1ZXN0ID0gd2tVcmxSZXF1ZXN0OworICAgIGV3a1Vy
bFJlcXVlc3QtPnVybCA9IDA7CisgICAgZXdrVXJsUmVxdWVzdC0+Zmlyc3RfcGFydHkgPSAwOwor
ICAgIGV3a1VybFJlcXVlc3QtPmh0dHBfbWV0aG9kID0gMDsKIAogICAgIHJldHVybiBld2tVcmxS
ZXF1ZXN0OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
ZXdrX3VybF9yZXNwb25zZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9l
d2tfdXJsX3Jlc3BvbnNlLmNwcAppbmRleCAxN2EzYzMwLi4zMzgwMjcxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3Jlc3BvbnNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3Jlc3BvbnNlLmNwcApA
QCAtNTYsNyArNTYsNyBAQCB2b2lkIGV3a191cmxfcmVzcG9uc2VfdW5yZWYoRXdrX1VybF9SZXNw
b25zZSogcmVzcG9uc2UpCiAKICAgICBlaW5hX3N0cmluZ3NoYXJlX2RlbChyZXNwb25zZS0+dXJs
KTsKICAgICBlaW5hX3N0cmluZ3NoYXJlX2RlbChyZXNwb25zZS0+bWltZVR5cGUpOwotICAgIGZy
ZWUocmVzcG9uc2UpOworICAgIGRlbGV0ZSByZXNwb25zZTsKIH0KIAogY29uc3QgY2hhciogZXdr
X3VybF9yZXNwb25zZV91cmxfZ2V0KGNvbnN0IEV3a19VcmxfUmVzcG9uc2UqIHJlc3BvbnNlKQpA
QCAtOTIsOSArOTIsMTEgQEAgY29uc3QgY2hhciogZXdrX3VybF9yZXNwb25zZV9taW1lX3R5cGVf
Z2V0KGNvbnN0IEV3a19VcmxfUmVzcG9uc2UqIHJlc3BvbnNlKQogICovCiBFd2tfVXJsX1Jlc3Bv
bnNlKiBld2tfdXJsX3Jlc3BvbnNlX25ldyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNl
JiBjb3JlUmVzcG9uc2UpCiB7Ci0gICAgRXdrX1VybF9SZXNwb25zZSogZXdrVXJsUmVzcG9uc2Ug
PSBzdGF0aWNfY2FzdDxFd2tfVXJsX1Jlc3BvbnNlKj4oY2FsbG9jKDEsIHNpemVvZihFd2tfVXJs
X1Jlc3BvbnNlKSkpOworICAgIEV3a19VcmxfUmVzcG9uc2UqIGV3a1VybFJlc3BvbnNlID0gbmV3
IEV3a19VcmxfUmVzcG9uc2U7CiAgICAgZXdrVXJsUmVzcG9uc2UtPl9fcmVmID0gMTsKICAgICBl
d2tVcmxSZXNwb25zZS0+Y29yZVJlc3BvbnNlID0gY29yZVJlc3BvbnNlOworICAgIGV3a1VybFJl
c3BvbnNlLT51cmwgPSAwOworICAgIGV3a1VybFJlc3BvbnNlLT5taW1lVHlwZSA9IDA7CiAKICAg
ICByZXR1cm4gZXdrVXJsUmVzcG9uc2U7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9ld2tfdmlldy5jcHAKaW5kZXggMGRhYWNhYi4uZjE2OTliMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcApAQCAtMjYwLDEyICsyNjAs
MTMgQEAgc3RhdGljIEV2YXNfU21hcnRfQ2xhc3MgZ19wYXJlbnRTbWFydENsYXNzID0gRVZBU19T
TUFSVF9DTEFTU19JTklUX05VTEw7CiAKIHN0YXRpYyBFd2tfVmlld19Qcml2YXRlX0RhdGEqIF9l
d2tfdmlld19wcml2X25ldyhFd2tfVmlld19TbWFydF9EYXRhKiBzbWFydERhdGEpCiB7Ci0gICAg
RXdrX1ZpZXdfUHJpdmF0ZV9EYXRhKiBwcml2ID0KLSAgICAgICAgc3RhdGljX2Nhc3Q8RXdrX1Zp
ZXdfUHJpdmF0ZV9EYXRhKj4oY2FsbG9jKDEsIHNpemVvZihFd2tfVmlld19Qcml2YXRlX0RhdGEp
KSk7CisgICAgRXdrX1ZpZXdfUHJpdmF0ZV9EYXRhKiBwcml2ID0gbmV3IEV3a19WaWV3X1ByaXZh
dGVfRGF0YTsKICAgICBpZiAoIXByaXYpIHsKICAgICAgICAgRUlOQV9MT0dfQ1JJVCgiY291bGQg
bm90IGFsbG9jYXRlIEV3a19WaWV3X1ByaXZhdGVfRGF0YSIpOwogICAgICAgICByZXR1cm4gMDsK
ICAgICB9CisgICAgcHJpdi0+dXJpID0gMDsKKyAgICBwcml2LT50aXRsZSA9IDA7CiAKICAgICBy
ZXR1cm4gcHJpdjsKIH0KQEAgLTI3OCw3ICsyNzksNyBAQCBzdGF0aWMgdm9pZCBfZXdrX3ZpZXdf
cHJpdl9kZWwoRXdrX1ZpZXdfUHJpdmF0ZV9EYXRhKiBwcml2KQogICAgIHByaXYtPnBhZ2VDbGll
bnQgPSBudWxscHRyOwogICAgIGVpbmFfc3RyaW5nc2hhcmVfZGVsKHByaXYtPnVyaSk7CiAgICAg
ZWluYV9zdHJpbmdzaGFyZV9kZWwocHJpdi0+dGl0bGUpOwotICAgIGZyZWUocHJpdik7CisgICAg
ZGVsZXRlIHByaXY7CiB9CiAKIHN0YXRpYyB2b2lkIF9ld2tfdmlld19zbWFydF9hZGQoRXZhc19P
YmplY3QqIGV3a1ZpZXcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfd2ViX2Vycm9yLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L2V3a193ZWJfZXJyb3IuY3BwCmluZGV4IDk2YjA4ZDMuLjc0NGJiYTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a193ZWJfZXJyb3IuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a193ZWJfZXJyb3IuY3BwCkBAIC02Myw3
ICs2Myw3IEBAIHZvaWQgZXdrX3dlYl9lcnJvcl9mcmVlKEV3a19XZWJfRXJyb3IgKmVycm9yKQog
CiAgICAgZWluYV9zdHJpbmdzaGFyZV9kZWwoZXJyb3ItPnVybCk7CiAgICAgZWluYV9zdHJpbmdz
aGFyZV9kZWwoZXJyb3ItPmRlc2NyaXB0aW9uKTsKLSAgICBmcmVlKGVycm9yKTsKKyAgICBkZWxl
dGUgZXJyb3I7CiB9CiAKIEV3a19XZWJfRXJyb3JfVHlwZSBld2tfd2ViX2Vycm9yX3R5cGVfZ2V0
KGNvbnN0IEV3a19XZWJfRXJyb3IqIGVycm9yKQpAQCAtMTIyLDggKzEyMiwxMCBAQCBFd2tfV2Vi
X0Vycm9yKiBld2tfd2ViX2Vycm9yX25ldyhXS0Vycm9yUmVmIGVycm9yKQogewogICAgIEVJTkFf
U0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChlcnJvciwgMCk7CiAKLSAgICBFd2tfV2ViX0Vycm9y
KiBld2tFcnJvciA9IHN0YXRpY19jYXN0PEV3a19XZWJfRXJyb3IqPihjYWxsb2MoMSwgc2l6ZW9m
KEV3a19XZWJfRXJyb3IpKSk7CisgICAgRXdrX1dlYl9FcnJvciogZXdrRXJyb3IgPSBuZXcgRXdr
X1dlYl9FcnJvcjsKICAgICBld2tFcnJvci0+d2tFcnJvciA9IGVycm9yOworICAgIGV3a0Vycm9y
LT51cmwgPSAwOworICAgIGV3a0Vycm9yLT5kZXNjcmlwdGlvbiA9IDA7CiAKICAgICByZXR1cm4g
ZXdrRXJyb3I7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfd2ViX3Jlc291cmNlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L2V3a193ZWJfcmVzb3VyY2UuY3BwCmluZGV4IGNlMWRkZGUuLjg4MzRhMzUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a193ZWJfcmVzb3VyY2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a193ZWJfcmVzb3VyY2UuY3Bw
CkBAIC00OSw3ICs0OSw3IEBAIHZvaWQgZXdrX3dlYl9yZXNvdXJjZV91bnJlZihFd2tfV2ViX1Jl
c291cmNlKiByZXNvdXJjZSkKICAgICBpZiAoLS1yZXNvdXJjZS0+X19yZWYpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIGZyZWUocmVzb3VyY2UpOworICAgIGRlbGV0ZSByZXNvdXJjZTsKIH0KIAog
Y29uc3QgY2hhciogZXdrX3dlYl9yZXNvdXJjZV91cmxfZ2V0KGNvbnN0IEV3a19XZWJfUmVzb3Vy
Y2UqIHJlc291cmNlKQpAQCAtNjcsNyArNjcsNyBAQCBFd2tfV2ViX1Jlc291cmNlKiBld2tfd2Vi
X3Jlc291cmNlX25ldyhjb25zdCBjaGFyKiB1cmwsIGJvb2wgaXNNYWluUmVzb3VyY2UpCiB7CiAg
ICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKHVybCwgMCk7CiAKLSAgICBFd2tfV2Vi
X1Jlc291cmNlKiByZXNvdXJjZSA9IHN0YXRpY19jYXN0PEV3a19XZWJfUmVzb3VyY2UqPihjYWxs
b2MoMSwgc2l6ZW9mKEV3a19XZWJfUmVzb3VyY2UpKSk7CisgICAgRXdrX1dlYl9SZXNvdXJjZSog
cmVzb3VyY2UgPSBuZXcgRXdrX1dlYl9SZXNvdXJjZTsKICAgICByZXNvdXJjZS0+dXJsID0gdXJs
OwogICAgIHJlc291cmNlLT5pc01haW5SZXNvdXJjZSA9IGlzTWFpblJlc291cmNlOwogICAgIHJl
c291cmNlLT5fX3JlZiA9IDE7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151927</attachid>
            <date>2012-07-12 05:54:07 -0700</date>
            <delta_ts>2012-07-12 06:39:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>91068_no_calloc.patch</filename>
            <type>text/plain</type>
            <size>15277</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBlOTFiOTg5Li43NGE2ZmI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTkg
QEAKKzIwMTItMDctMTIgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVs
LmNvbT4KKworICAgICAgICBbRUZMXSBbV0syXSByZWdyZXNzaW9uKHIxMjI0MTEpIENyYXNoZXMg
aW4gRXdrX1ZpZXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTkxMDY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQXZvaWQgdXNpbmcgY2FsbG9jKCkgdG8gYWxsb2NhdGUgbWVtb3J5IGZvciBzdHJ1Y3R1cmVz
CisgICAgICAgIGFuZCB1c2UgbmV3IG9wZXJhdG9yIGluc3RlYWQuIGNhbGxvYygpIGNhdXNlcyB1
bndhbnRlZAorICAgICAgICBiZWhhdmlvciB3aGVuIGFsbG9jaW5nIGEgc3RydWN0dXJlIHdoaWNo
IGNvbnRhaW5zCisgICAgICAgIG5vbi1wb2ludGVyIHR5cGVzIChlLmcuIGEgSGFzaE1hcCkgYW5k
IGxlYWRzIHRvCisgICAgICAgIGNyYXNoZXMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfY29udGV4dC5jcHA6CisgICAgICAgIChfRXdrX0NvbnRleHQ6Ol9Fd2tfQ29udGV4dCk6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2ludGVudC5jcHA6CisgICAgICAgIChf
RXdrX0ludGVudCk6CisgICAgICAgIChfRXdrX0ludGVudDo6X0V3a19JbnRlbnQpOgorICAgICAg
ICAoZXdrX2ludGVudF91bnJlZik6CisgICAgICAgIChld2tfaW50ZW50X25ldyk6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2ludGVudF9zZXJ2aWNlLmNwcDoKKyAgICAgICAgKF9F
d2tfSW50ZW50X1NlcnZpY2UpOgorICAgICAgICAoX0V3a19JbnRlbnRfU2VydmljZTo6X0V3a19J
bnRlbnRfU2VydmljZSk6CisgICAgICAgIChld2tfaW50ZW50X3NlcnZpY2VfdW5yZWYpOgorICAg
ICAgICAoZXdrX2ludGVudF9zZXJ2aWNlX25ldyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX25hdmlnYXRpb25fcG9saWN5X2RlY2lzaW9uLmNwcDoKKyAgICAgICAgKF9Fd2tfTmF2
aWdhdGlvbl9Qb2xpY3lfRGVjaXNpb24pOgorICAgICAgICAoX0V3a19OYXZpZ2F0aW9uX1BvbGlj
eV9EZWNpc2lvbjo6X0V3a19OYXZpZ2F0aW9uX1BvbGljeV9EZWNpc2lvbik6CisgICAgICAgIChl
d2tfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb25fZnJlZSk6CisgICAgICAgIChld2tfbmF2aWdh
dGlvbl9wb2xpY3lfZGVjaXNpb25fbmV3KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9l
d2tfdXJsX3JlcXVlc3QuY3BwOgorICAgICAgICAoX0V3a19VcmxfUmVxdWVzdCk6CisgICAgICAg
IChfRXdrX1VybF9SZXF1ZXN0OjpfRXdrX1VybF9SZXF1ZXN0KToKKyAgICAgICAgKGV3a191cmxf
cmVxdWVzdF91bnJlZik6CisgICAgICAgIChld2tfdXJsX3JlcXVlc3RfbmV3KToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3Jlc3BvbnNlLmNwcDoKKyAgICAgICAgKF9Fd2tf
VXJsX1Jlc3BvbnNlKToKKyAgICAgICAgKF9Fd2tfVXJsX1Jlc3BvbnNlOjpfRXdrX1VybF9SZXNw
b25zZSk6CisgICAgICAgIChld2tfdXJsX3Jlc3BvbnNlX3VucmVmKToKKyAgICAgICAgKGV3a191
cmxfcmVzcG9uc2VfbmV3KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5j
cHA6CisgICAgICAgIChfRXdrX1ZpZXdfUHJpdmF0ZV9EYXRhKToKKyAgICAgICAgKF9Fd2tfVmll
d19Qcml2YXRlX0RhdGE6Ol9Fd2tfVmlld19Qcml2YXRlX0RhdGEpOgorICAgICAgICAoX2V3a192
aWV3X3ByaXZfbmV3KToKKyAgICAgICAgKF9ld2tfdmlld19wcml2X2RlbCk6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX3dlYl9lcnJvci5jcHA6CisgICAgICAgIChfRXdrX1dlYl9F
cnJvcik6CisgICAgICAgIChfRXdrX1dlYl9FcnJvcjo6X0V3a19XZWJfRXJyb3IpOgorICAgICAg
ICAoZXdrX3dlYl9lcnJvcl9mcmVlKToKKyAgICAgICAgKGV3a193ZWJfZXJyb3JfbmV3KToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfd2ViX3Jlc291cmNlLmNwcDoKKyAgICAgICAg
KF9Fd2tfV2ViX1Jlc291cmNlKToKKyAgICAgICAgKF9Fd2tfV2ViX1Jlc291cmNlOjpfRXdrX1dl
Yl9SZXNvdXJjZSk6CisgICAgICAgIChld2tfd2ViX3Jlc291cmNlX3VucmVmKToKKyAgICAgICAg
KGV3a193ZWJfcmVzb3VyY2VfbmV3KToKKwogMjAxMi0wNy0xMSAgQW5kcmFzIEJlY3NpICA8YW5k
cmFzLmJlY3NpQG5va2lhLmNvbT4KIAogICAgICAgICBbUXRdW1dLMl0gQVNTRVJUOiAiIW1fdmll
d3BvcnRJdGVtLT5pc01vdmluZygpIiBpbiBRdFZpZXdwb3J0SGFuZGxlcjo6ZmxpY2tNb3ZlRW5k
ZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Nv
bnRleHQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQu
Y3BwCmluZGV4IDc5MWJjOTUuLmUxY2NmZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dC5jcHAKQEAgLTM1LDkgKzM1LDggQEAgc3RydWN0IF9F
d2tfQ29udGV4dCB7CiAjZW5kaWYKIAogICAgIF9Fd2tfQ29udGV4dChXS0NvbnRleHRSZWYgY29u
dGV4dFJlZikKLSAgICB7Ci0gICAgICAgIHRoaXMtPmNvbnRleHQgPSBjb250ZXh0UmVmOwotICAg
IH0KKyAgICAgICAgOiBjb250ZXh0KGNvbnRleHRSZWYpCisgICAgeyB9CiB9OwogCiBXS0NvbnRl
eHRSZWYgZXdrX2NvbnRleHRfV0tDb250ZXh0X2dldChjb25zdCBFd2tfQ29udGV4dCogZXdrQ29u
dGV4dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19p
bnRlbnQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2ludGVudC5j
cHAKaW5kZXggNjNiOWVlMy4uYmE5MjNlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX2ludGVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX2ludGVudC5jcHAKQEAgLTUwLDYgKzUwLDE3IEBAIHN0cnVjdCBfRXdr
X0ludGVudCB7CiAgICAgY29uc3QgY2hhciogYWN0aW9uOwogICAgIGNvbnN0IGNoYXIqIHR5cGU7
CiAgICAgY29uc3QgY2hhciogc2VydmljZTsKKworICAgIF9Fd2tfSW50ZW50KFdLSW50ZW50RGF0
YVJlZiBpbnRlbnRSZWYpCisgICAgICAgIDogX19yZWYoMSkKKyNpZiBFTkFCTEUoV0VCX0lOVEVO
VFMpCisgICAgICAgICwgd2tJbnRlbnQoaW50ZW50UmVmKQorI2VuZGlmCisgICAgICAgICwgYWN0
aW9uKDApCisgICAgICAgICwgdHlwZSgwKQorICAgICAgICAsIHNlcnZpY2UoMCkKKyAgICB7Cisg
ICAgfQogfTsKIAogI2RlZmluZSBFV0tfSU5URU5UX1dLX0dFVF9PUl9SRVRVUk4oaW50ZW50LCB3
a0ludGVudF8sIC4uLikgICAgXApAQCAtODIsNyArOTMsNyBAQCB2b2lkIGV3a19pbnRlbnRfdW5y
ZWYoRXdrX0ludGVudCogaW50ZW50KQogICAgIGVpbmFfc3RyaW5nc2hhcmVfZGVsKGludGVudC0+
YWN0aW9uKTsKICAgICBlaW5hX3N0cmluZ3NoYXJlX2RlbChpbnRlbnQtPnR5cGUpOwogICAgIGVp
bmFfc3RyaW5nc2hhcmVfZGVsKGludGVudC0+c2VydmljZSk7Ci0gICAgZnJlZShpbnRlbnQpOwor
ICAgIGRlbGV0ZSBpbnRlbnQ7CiAjZW5kaWYKIH0KIApAQCAtMTkyLDExICsyMDMsNyBAQCBFd2tf
SW50ZW50KiBld2tfaW50ZW50X25ldyhXS0ludGVudERhdGFSZWYgaW50ZW50RGF0YSkKIHsKICAg
ICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoaW50ZW50RGF0YSwgMCk7CiAKLSAgICBF
d2tfSW50ZW50KiBld2tJbnRlbnQgPSBzdGF0aWNfY2FzdDxFd2tfSW50ZW50Kj4oY2FsbG9jKDEs
IHNpemVvZihFd2tfSW50ZW50KSkpOwotICAgIGV3a0ludGVudC0+X19yZWYgPSAxOwotICAgIGV3
a0ludGVudC0+d2tJbnRlbnQgPSBpbnRlbnREYXRhOwotCi0gICAgcmV0dXJuIGV3a0ludGVudDsK
KyAgICByZXR1cm4gbmV3IEV3a19JbnRlbnQoaW50ZW50RGF0YSk7CiB9CiAKIFdLSW50ZW50RGF0
YVJlZiBld2tfaW50ZW50X1dLSW50ZW50RGF0YVJlZl9nZXQoY29uc3QgRXdrX0ludGVudCogaW50
ZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2lu
dGVudF9zZXJ2aWNlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19p
bnRlbnRfc2VydmljZS5jcHAKaW5kZXggYmU5Yjg0NC4uOTM5NWY0MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2ludGVudF9zZXJ2aWNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfaW50ZW50X3NlcnZpY2UuY3Bw
CkBAIC01MCw2ICs1MCwxOCBAQCBzdHJ1Y3QgX0V3a19JbnRlbnRfU2VydmljZSB7CiAgICAgY29u
c3QgY2hhciogaHJlZjsKICAgICBjb25zdCBjaGFyKiB0aXRsZTsKICAgICBjb25zdCBjaGFyKiBk
aXNwb3NpdGlvbjsKKworICAgIF9Fd2tfSW50ZW50X1NlcnZpY2UoV0tJbnRlbnRTZXJ2aWNlSW5m
b1JlZiBzZXJ2aWNlUmVmKQorICAgICAgICA6IF9fcmVmKDEpCisjaWYgRU5BQkxFKFdFQl9JTlRF
TlRTX1RBRykKKyAgICAgICAgLCB3a1NlcnZpY2Uoc2VydmljZVJlZikKKyNlbmRpZgorICAgICAg
ICAsIGFjdGlvbigwKQorICAgICAgICAsIHR5cGUoMCkKKyAgICAgICAgLCBocmVmKDApCisgICAg
ICAgICwgdGl0bGUoMCkKKyAgICAgICAgLCBkaXNwb3NpdGlvbigwKQorICAgIHsgfQogfTsKIAog
I2RlZmluZSBFV0tfSU5URU5UX1NFUlZJQ0VfV0tfR0VUX09SX1JFVFVSTihzZXJ2aWNlLCB3a1Nl
cnZpY2VfLCAuLi4pIFwKQEAgLTg0LDcgKzk2LDcgQEAgdm9pZCBld2tfaW50ZW50X3NlcnZpY2Vf
dW5yZWYoRXdrX0ludGVudF9TZXJ2aWNlKiBzZXJ2aWNlKQogICAgIGVpbmFfc3RyaW5nc2hhcmVf
ZGVsKHNlcnZpY2UtPmhyZWYpOwogICAgIGVpbmFfc3RyaW5nc2hhcmVfZGVsKHNlcnZpY2UtPnRp
dGxlKTsKICAgICBlaW5hX3N0cmluZ3NoYXJlX2RlbChzZXJ2aWNlLT5kaXNwb3NpdGlvbik7Ci0g
ICAgZnJlZShzZXJ2aWNlKTsKKyAgICBkZWxldGUgc2VydmljZTsKICNlbmRpZgogfQogCkBAIC0x
NjgsMTAgKzE4MCw2IEBAIEV3a19JbnRlbnRfU2VydmljZSogZXdrX2ludGVudF9zZXJ2aWNlX25l
dyhXS0ludGVudFNlcnZpY2VJbmZvUmVmIHdrU2VydmljZSkKIHsKICAgICBFSU5BX1NBRkVUWV9P
Tl9OVUxMX1JFVFVSTl9WQUwod2tTZXJ2aWNlLCAwKTsKIAotICAgIEV3a19JbnRlbnRfU2Vydmlj
ZSogZXdrSW50ZW50U2VydmljZSA9IHN0YXRpY19jYXN0PEV3a19JbnRlbnRfU2VydmljZSo+KGNh
bGxvYygxLCBzaXplb2YoRXdrX0ludGVudF9TZXJ2aWNlKSkpOwotICAgIGV3a0ludGVudFNlcnZp
Y2UtPl9fcmVmID0gMTsKLSAgICBld2tJbnRlbnRTZXJ2aWNlLT53a1NlcnZpY2UgPSB3a1NlcnZp
Y2U7Ci0KLSAgICByZXR1cm4gZXdrSW50ZW50U2VydmljZTsKKyAgICByZXR1cm4gbmV3IEV3a19J
bnRlbnRfU2VydmljZSh3a1NlcnZpY2UpOwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb24u
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX25hdmlnYXRpb25fcG9s
aWN5X2RlY2lzaW9uLmNwcAppbmRleCA0YzkyM2VmLi5hMjE2NDlkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNp
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19uYXZpZ2F0
aW9uX3BvbGljeV9kZWNpc2lvbi5jcHAKQEAgLTQ3LDYgKzQ3LDE2IEBAIHN0cnVjdCBfRXdrX05h
dmlnYXRpb25fUG9saWN5X0RlY2lzaW9uIHsKICAgICBFdmVudF9Nb2RpZmllcl9LZXlzIG1vZGlm
aWVyczsKICAgICBFd2tfVXJsX1JlcXVlc3QqIHJlcXVlc3Q7CiAgICAgY29uc3QgY2hhciogZnJh
bWVOYW1lOworCisgICAgX0V3a19OYXZpZ2F0aW9uX1BvbGljeV9EZWNpc2lvbihXS0ZyYW1lUG9s
aWN5TGlzdGVuZXJSZWYgX2xpc3RlbmVyLCBFd2tfTmF2aWdhdGlvbl9UeXBlIF9uYXZpZ2F0aW9u
VHlwZSwgRXZlbnRfTW91c2VfQnV0dG9uIF9tb3VzZUJ1dHRvbiwgRXZlbnRfTW9kaWZpZXJfS2V5
cyBfbW9kaWZpZXJzLCBFd2tfVXJsX1JlcXVlc3QqIF9yZXF1ZXN0LCBjb25zdCBjaGFyKiBfZnJh
bWVOYW1lKQorICAgICAgICA6IGxpc3RlbmVyKF9saXN0ZW5lcikKKyAgICAgICAgLCBhY3RlZFVw
b25CeUNsaWVudChmYWxzZSkKKyAgICAgICAgLCBuYXZpZ2F0aW9uVHlwZShfbmF2aWdhdGlvblR5
cGUpCisgICAgICAgICwgbW91c2VCdXR0b24oX21vdXNlQnV0dG9uKQorICAgICAgICAsIG1vZGlm
aWVycyhfbW9kaWZpZXJzKQorICAgICAgICAsIHJlcXVlc3QoX3JlcXVlc3QpCisgICAgICAgICwg
ZnJhbWVOYW1lKGVpbmFfc3RyaW5nc2hhcmVfYWRkKF9mcmFtZU5hbWUpKQorICAgIHsgfQogfTsK
IAogdm9pZCBld2tfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb25fZnJlZShFd2tfTmF2aWdhdGlv
bl9Qb2xpY3lfRGVjaXNpb24qIGRlY2lzaW9uKQpAQCAtNTksNyArNjksNyBAQCB2b2lkIGV3a19u
YXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbl9mcmVlKEV3a19OYXZpZ2F0aW9uX1BvbGljeV9EZWNp
c2lvbiogZGVjaXNpbwogCiAgICAgZXdrX3VybF9yZXF1ZXN0X3VucmVmKGRlY2lzaW9uLT5yZXF1
ZXN0KTsKICAgICBlaW5hX3N0cmluZ3NoYXJlX2RlbChkZWNpc2lvbi0+ZnJhbWVOYW1lKTsKLSAg
ICBmcmVlKGRlY2lzaW9uKTsKKyAgICBkZWxldGUgZGVjaXNpb247CiB9CiAKIEV3a19OYXZpZ2F0
aW9uX1R5cGUgZXdrX25hdmlnYXRpb25fcG9saWN5X25hdmlnYXRpb25fdHlwZV9nZXQoY29uc3Qg
RXdrX05hdmlnYXRpb25fUG9saWN5X0RlY2lzaW9uKiBkZWNpc2lvbikKQEAgLTE0MywxMyArMTUz
LDEwIEBAIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVZFTlRfTU9ESUZJRVJfS0VZX01F
VEEsIGtXS0V2ZW50TW9kaWZpZXJzTWV0YUtleSk7CiAKIEV3a19OYXZpZ2F0aW9uX1BvbGljeV9E
ZWNpc2lvbiogZXdrX25hdmlnYXRpb25fcG9saWN5X2RlY2lzaW9uX25ldyhXS0ZyYW1lTmF2aWdh
dGlvblR5cGUgbmF2aWdhdGlvblR5cGUsIFdLRXZlbnRNb3VzZUJ1dHRvbiBtb3VzZUJ1dHRvbiwg
V0tFdmVudE1vZGlmaWVycyBtb2RpZmllcnMsIFdLVVJMUmVxdWVzdFJlZiByZXF1ZXN0LCBjb25z
dCBjaGFyKiBmcmFtZU5hbWUsIFdLRnJhbWVQb2xpY3lMaXN0ZW5lclJlZiBsaXN0ZW5lcikKIHsK
LSAgICBFd2tfTmF2aWdhdGlvbl9Qb2xpY3lfRGVjaXNpb24qIGV3a1BvbGljeURlY2lzaW9uID0g
c3RhdGljX2Nhc3Q8RXdrX05hdmlnYXRpb25fUG9saWN5X0RlY2lzaW9uKj4oY2FsbG9jKDEsIHNp
emVvZihFd2tfTmF2aWdhdGlvbl9Qb2xpY3lfRGVjaXNpb24pKSk7Ci0gICAgZXdrUG9saWN5RGVj
aXNpb24tPmxpc3RlbmVyID0gbGlzdGVuZXI7Ci0gICAgZXdrUG9saWN5RGVjaXNpb24tPm1vdXNl
QnV0dG9uID0gc3RhdGljX2Nhc3Q8RXZlbnRfTW91c2VfQnV0dG9uPihtb3VzZUJ1dHRvbik7Ci0g
ICAgZXdrUG9saWN5RGVjaXNpb24tPm1vZGlmaWVycyA9IHN0YXRpY19jYXN0PEV2ZW50X01vZGlm
aWVyX0tleXM+KG1vZGlmaWVycyk7Ci0gICAgZXdrUG9saWN5RGVjaXNpb24tPm5hdmlnYXRpb25U
eXBlID0gc3RhdGljX2Nhc3Q8RXdrX05hdmlnYXRpb25fVHlwZT4obmF2aWdhdGlvblR5cGUpOwot
ICAgIGV3a1BvbGljeURlY2lzaW9uLT5yZXF1ZXN0ID0gZXdrX3VybF9yZXF1ZXN0X25ldyhyZXF1
ZXN0KTsKLSAgICBld2tQb2xpY3lEZWNpc2lvbi0+ZnJhbWVOYW1lID0gZWluYV9zdHJpbmdzaGFy
ZV9hZGQoZnJhbWVOYW1lKTsKLQotICAgIHJldHVybiBld2tQb2xpY3lEZWNpc2lvbjsKKyAgICBy
ZXR1cm4gbmV3IEV3a19OYXZpZ2F0aW9uX1BvbGljeV9EZWNpc2lvbihsaXN0ZW5lciwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxFd2tf
TmF2aWdhdGlvbl9UeXBlPihuYXZpZ2F0aW9uVHlwZSksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8RXZlbnRfTW91c2VfQnV0dG9uPiht
b3VzZUJ1dHRvbiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc3RhdGljX2Nhc3Q8RXZlbnRfTW9kaWZpZXJfS2V5cz4obW9kaWZpZXJzKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBld2tfdXJsX3JlcXVlc3RfbmV3
KHJlcXVlc3QpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZyYW1lTmFtZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfdXJsX3JlcXVlc3QuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX3VybF9yZXF1ZXN0LmNwcAppbmRleCAwYWE4NzRiLi5mMjlhNDBlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3JlcXVlc3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a191cmxfcmVxdWVzdC5jcHAK
QEAgLTQ4LDYgKzQ4LDE0IEBAIHN0cnVjdCBfRXdrX1VybF9SZXF1ZXN0IHsKICAgICBjb25zdCBj
aGFyKiB1cmw7CiAgICAgY29uc3QgY2hhciogZmlyc3RfcGFydHk7CiAgICAgY29uc3QgY2hhciog
aHR0cF9tZXRob2Q7CisKKyAgICBfRXdrX1VybF9SZXF1ZXN0KFdLVVJMUmVxdWVzdFJlZiByZXF1
ZXN0UmVmKQorICAgICAgICA6IF9fcmVmKDEpCisgICAgICAgICwgd2tSZXF1ZXN0KHJlcXVlc3RS
ZWYpCisgICAgICAgICwgdXJsKDApCisgICAgICAgICwgZmlyc3RfcGFydHkoMCkKKyAgICAgICAg
LCBodHRwX21ldGhvZCgwKQorICAgIHsgfQogfTsKIAogI2RlZmluZSBFV0tfVVJMX1JFUVVFU1Rf
V0tfR0VUX09SX1JFVFVSTihyZXF1ZXN0LCB3a1JlcXVlc3RfLCAuLi4pICAgIFwKQEAgLTc3LDcg
Kzg1LDcgQEAgdm9pZCBld2tfdXJsX3JlcXVlc3RfdW5yZWYoRXdrX1VybF9SZXF1ZXN0KiByZXF1
ZXN0KQogICAgIGVpbmFfc3RyaW5nc2hhcmVfZGVsKHJlcXVlc3QtPnVybCk7CiAgICAgZWluYV9z
dHJpbmdzaGFyZV9kZWwocmVxdWVzdC0+Zmlyc3RfcGFydHkpOwogICAgIGVpbmFfc3RyaW5nc2hh
cmVfZGVsKHJlcXVlc3QtPmh0dHBfbWV0aG9kKTsKLSAgICBmcmVlKHJlcXVlc3QpOworICAgIGRl
bGV0ZSByZXF1ZXN0OwogfQogCiBjb25zdCBjaGFyKiBld2tfdXJsX3JlcXVlc3RfdXJsX2dldChj
b25zdCBFd2tfVXJsX1JlcXVlc3QqIHJlcXVlc3QpCkBAIC0xMTksOSArMTI3LDUgQEAgRXdrX1Vy
bF9SZXF1ZXN0KiBld2tfdXJsX3JlcXVlc3RfbmV3KFdLVVJMUmVxdWVzdFJlZiB3a1VybFJlcXVl
c3QpCiB7CiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKHdrVXJsUmVxdWVzdCwg
MCk7CiAKLSAgICBFd2tfVXJsX1JlcXVlc3QqIGV3a1VybFJlcXVlc3QgPSBzdGF0aWNfY2FzdDxF
d2tfVXJsX1JlcXVlc3QqPihjYWxsb2MoMSwgc2l6ZW9mKEV3a19VcmxfUmVxdWVzdCkpKTsKLSAg
ICBld2tVcmxSZXF1ZXN0LT5fX3JlZiA9IDE7Ci0gICAgZXdrVXJsUmVxdWVzdC0+d2tSZXF1ZXN0
ID0gd2tVcmxSZXF1ZXN0OwotCi0gICAgcmV0dXJuIGV3a1VybFJlcXVlc3Q7CisgICAgcmV0dXJu
IG5ldyBFd2tfVXJsX1JlcXVlc3Qod2tVcmxSZXF1ZXN0KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a191cmxfcmVzcG9uc2UuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3VybF9yZXNwb25zZS5jcHAKaW5kZXggMTdh
M2MzMC4uMmFiMTI5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX3VybF9yZXNwb25zZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX3VybF9yZXNwb25zZS5jcHAKQEAgLTM5LDYgKzM5LDEzIEBAIHN0cnVjdCBfRXdr
X1VybF9SZXNwb25zZSB7CiAKICAgICBjb25zdCBjaGFyKiB1cmw7CiAgICAgY29uc3QgY2hhciog
bWltZVR5cGU7CisKKyAgICBfRXdrX1VybF9SZXNwb25zZShjb25zdCBXZWJDb3JlOjpSZXNvdXJj
ZVJlc3BvbnNlJiBfY29yZVJlc3BvbnNlKQorICAgICAgICA6IF9fcmVmKDEpCisgICAgICAgICwg
Y29yZVJlc3BvbnNlKF9jb3JlUmVzcG9uc2UpCisgICAgICAgICwgdXJsKDApCisgICAgICAgICwg
bWltZVR5cGUoMCkKKyAgICB7IH0KIH07CiAKIHZvaWQgZXdrX3VybF9yZXNwb25zZV9yZWYoRXdr
X1VybF9SZXNwb25zZSogcmVzcG9uc2UpCkBAIC01Niw3ICs2Myw3IEBAIHZvaWQgZXdrX3VybF9y
ZXNwb25zZV91bnJlZihFd2tfVXJsX1Jlc3BvbnNlKiByZXNwb25zZSkKIAogICAgIGVpbmFfc3Ry
aW5nc2hhcmVfZGVsKHJlc3BvbnNlLT51cmwpOwogICAgIGVpbmFfc3RyaW5nc2hhcmVfZGVsKHJl
c3BvbnNlLT5taW1lVHlwZSk7Ci0gICAgZnJlZShyZXNwb25zZSk7CisgICAgZGVsZXRlIHJlc3Bv
bnNlOwogfQogCiBjb25zdCBjaGFyKiBld2tfdXJsX3Jlc3BvbnNlX3VybF9nZXQoY29uc3QgRXdr
X1VybF9SZXNwb25zZSogcmVzcG9uc2UpCkBAIC05Miw5ICs5OSw1IEBAIGNvbnN0IGNoYXIqIGV3
a191cmxfcmVzcG9uc2VfbWltZV90eXBlX2dldChjb25zdCBFd2tfVXJsX1Jlc3BvbnNlKiByZXNw
b25zZSkKICAqLwogRXdrX1VybF9SZXNwb25zZSogZXdrX3VybF9yZXNwb25zZV9uZXcoY29uc3Qg
V2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgY29yZVJlc3BvbnNlKQogewotICAgIEV3a19Vcmxf
UmVzcG9uc2UqIGV3a1VybFJlc3BvbnNlID0gc3RhdGljX2Nhc3Q8RXdrX1VybF9SZXNwb25zZSo+
KGNhbGxvYygxLCBzaXplb2YoRXdrX1VybF9SZXNwb25zZSkpKTsKLSAgICBld2tVcmxSZXNwb25z
ZS0+X19yZWYgPSAxOwotICAgIGV3a1VybFJlc3BvbnNlLT5jb3JlUmVzcG9uc2UgPSBjb3JlUmVz
cG9uc2U7Ci0KLSAgICByZXR1cm4gZXdrVXJsUmVzcG9uc2U7CisgICAgcmV0dXJuIG5ldyBFd2tf
VXJsX1Jlc3BvbnNlKGNvcmVSZXNwb25zZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9ld2tfdmlldy5jcHAKaW5kZXggMGRhYWNhYi4uZWIxZTVlNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcApAQCAtNTAsNiArNTAs
MTEgQEAgc3RydWN0IF9Fd2tfVmlld19Qcml2YXRlX0RhdGEgewogICAgIGNvbnN0IGNoYXIqIHVy
aTsKICAgICBjb25zdCBjaGFyKiB0aXRsZTsKICAgICBMb2FkaW5nUmVzb3VyY2VzTWFwIGxvYWRp
bmdSZXNvdXJjZXNNYXA7CisKKyAgICBfRXdrX1ZpZXdfUHJpdmF0ZV9EYXRhKCkKKyAgICAgICAg
OiB1cmkoMCkKKyAgICAgICAgLCB0aXRsZSgwKQorICAgIHsgfQogfTsKIAogI2RlZmluZSBFV0tf
VklFV19UWVBFX0NIRUNLKGV3a1ZpZXcsIHJlc3VsdCkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKQEAgLTI2MCw4ICsyNjUsNyBAQCBzdGF0aWMgRXZhc19TbWFydF9DbGFzcyBn
X3BhcmVudFNtYXJ0Q2xhc3MgPSBFVkFTX1NNQVJUX0NMQVNTX0lOSVRfTlVMTDsKIAogc3RhdGlj
IEV3a19WaWV3X1ByaXZhdGVfRGF0YSogX2V3a192aWV3X3ByaXZfbmV3KEV3a19WaWV3X1NtYXJ0
X0RhdGEqIHNtYXJ0RGF0YSkKIHsKLSAgICBFd2tfVmlld19Qcml2YXRlX0RhdGEqIHByaXYgPQot
ICAgICAgICBzdGF0aWNfY2FzdDxFd2tfVmlld19Qcml2YXRlX0RhdGEqPihjYWxsb2MoMSwgc2l6
ZW9mKEV3a19WaWV3X1ByaXZhdGVfRGF0YSkpKTsKKyAgICBFd2tfVmlld19Qcml2YXRlX0RhdGEq
IHByaXYgPSBuZXcgRXdrX1ZpZXdfUHJpdmF0ZV9EYXRhOwogICAgIGlmICghcHJpdikgewogICAg
ICAgICBFSU5BX0xPR19DUklUKCJjb3VsZCBub3QgYWxsb2NhdGUgRXdrX1ZpZXdfUHJpdmF0ZV9E
YXRhIik7CiAgICAgICAgIHJldHVybiAwOwpAQCAtMjc4LDcgKzI4Miw3IEBAIHN0YXRpYyB2b2lk
IF9ld2tfdmlld19wcml2X2RlbChFd2tfVmlld19Qcml2YXRlX0RhdGEqIHByaXYpCiAgICAgcHJp
di0+cGFnZUNsaWVudCA9IG51bGxwdHI7CiAgICAgZWluYV9zdHJpbmdzaGFyZV9kZWwocHJpdi0+
dXJpKTsKICAgICBlaW5hX3N0cmluZ3NoYXJlX2RlbChwcml2LT50aXRsZSk7Ci0gICAgZnJlZShw
cml2KTsKKyAgICBkZWxldGUgcHJpdjsKIH0KIAogc3RhdGljIHZvaWQgX2V3a192aWV3X3NtYXJ0
X2FkZChFdmFzX09iamVjdCogZXdrVmlldykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL2V3a193ZWJfZXJyb3IuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX3dlYl9lcnJvci5jcHAKaW5kZXggOTZiMDhkMy4uMGFjNzVhYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3dlYl9lcnJvci5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3dlYl9lcnJvci5j
cHAKQEAgLTQ0LDYgKzQ0LDEyIEBAIHN0cnVjdCBfRXdrX1dlYl9FcnJvciB7CiAKICAgICBjb25z
dCBjaGFyKiB1cmw7CiAgICAgY29uc3QgY2hhciogZGVzY3JpcHRpb247CisKKyAgICBfRXdrX1dl
Yl9FcnJvcihXS0Vycm9yUmVmIGVycm9yUmVmKQorICAgICAgICA6IHdrRXJyb3IoZXJyb3JSZWYp
CisgICAgICAgICwgdXJsKDApCisgICAgICAgICwgZGVzY3JpcHRpb24oMCkKKyAgICB7IH0KIH07
CiAKICNkZWZpbmUgRVdLX1dFQl9FUlJPUl9XS19HRVRfT1JfUkVUVVJOKGVycm9yLCB3a0Vycm9y
XywgLi4uKSAgICBcCkBAIC02Myw3ICs2OSw3IEBAIHZvaWQgZXdrX3dlYl9lcnJvcl9mcmVlKEV3
a19XZWJfRXJyb3IgKmVycm9yKQogCiAgICAgZWluYV9zdHJpbmdzaGFyZV9kZWwoZXJyb3ItPnVy
bCk7CiAgICAgZWluYV9zdHJpbmdzaGFyZV9kZWwoZXJyb3ItPmRlc2NyaXB0aW9uKTsKLSAgICBm
cmVlKGVycm9yKTsKKyAgICBkZWxldGUgZXJyb3I7CiB9CiAKIEV3a19XZWJfRXJyb3JfVHlwZSBl
d2tfd2ViX2Vycm9yX3R5cGVfZ2V0KGNvbnN0IEV3a19XZWJfRXJyb3IqIGVycm9yKQpAQCAtMTIy
LDggKzEyOCw1IEBAIEV3a19XZWJfRXJyb3IqIGV3a193ZWJfZXJyb3JfbmV3KFdLRXJyb3JSZWYg
ZXJyb3IpCiB7CiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKGVycm9yLCAwKTsK
IAotICAgIEV3a19XZWJfRXJyb3IqIGV3a0Vycm9yID0gc3RhdGljX2Nhc3Q8RXdrX1dlYl9FcnJv
cio+KGNhbGxvYygxLCBzaXplb2YoRXdrX1dlYl9FcnJvcikpKTsKLSAgICBld2tFcnJvci0+d2tF
cnJvciA9IGVycm9yOwotCi0gICAgcmV0dXJuIGV3a0Vycm9yOworICAgIHJldHVybiBuZXcgRXdr
X1dlYl9FcnJvcihlcnJvcik7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9ld2tfd2ViX3Jlc291cmNlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a193ZWJfcmVzb3VyY2UuY3BwCmluZGV4IGNlMWRkZGUuLjY0MTY2MTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a193ZWJfcmVzb3Vy
Y2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a193ZWJfcmVz
b3VyY2UuY3BwCkBAIC0zMyw2ICszMywxMiBAQCBzdHJ1Y3QgX0V3a19XZWJfUmVzb3VyY2Ugewog
ICAgIHVuc2lnbmVkIGludCBfX3JlZjsgLyoqPCB0aGUgcmVmZXJlbmNlIGNvdW50IG9mIHRoZSBv
YmplY3QgKi8KICAgICBDU3RyaW5nIHVybDsKICAgICBib29sIGlzTWFpblJlc291cmNlOworCisg
ICAgX0V3a19XZWJfUmVzb3VyY2UoY29uc3QgY2hhciogX3VybCwgYm9vbCBfaXNNYWluUmVzb3Vy
Y2UpCisgICAgICAgIDogX19yZWYoMSkKKyAgICAgICAgICwgdXJsKF91cmwpCisgICAgICAgICwg
aXNNYWluUmVzb3VyY2UoX2lzTWFpblJlc291cmNlKQorICAgIHsgfQogfTsKIAogdm9pZCBld2tf
d2ViX3Jlc291cmNlX3JlZihFd2tfV2ViX1Jlc291cmNlKiByZXNvdXJjZSkKQEAgLTQ5LDcgKzU1
LDcgQEAgdm9pZCBld2tfd2ViX3Jlc291cmNlX3VucmVmKEV3a19XZWJfUmVzb3VyY2UqIHJlc291
cmNlKQogICAgIGlmICgtLXJlc291cmNlLT5fX3JlZikKICAgICAgICAgcmV0dXJuOwogCi0gICAg
ZnJlZShyZXNvdXJjZSk7CisgICAgZGVsZXRlIHJlc291cmNlOwogfQogCiBjb25zdCBjaGFyKiBl
d2tfd2ViX3Jlc291cmNlX3VybF9nZXQoY29uc3QgRXdrX1dlYl9SZXNvdXJjZSogcmVzb3VyY2Up
CkBAIC02NywxMiArNzMsNyBAQCBFd2tfV2ViX1Jlc291cmNlKiBld2tfd2ViX3Jlc291cmNlX25l
dyhjb25zdCBjaGFyKiB1cmwsIGJvb2wgaXNNYWluUmVzb3VyY2UpCiB7CiAgICAgRUlOQV9TQUZF
VFlfT05fTlVMTF9SRVRVUk5fVkFMKHVybCwgMCk7CiAKLSAgICBFd2tfV2ViX1Jlc291cmNlKiBy
ZXNvdXJjZSA9IHN0YXRpY19jYXN0PEV3a19XZWJfUmVzb3VyY2UqPihjYWxsb2MoMSwgc2l6ZW9m
KEV3a19XZWJfUmVzb3VyY2UpKSk7Ci0gICAgcmVzb3VyY2UtPnVybCA9IHVybDsKLSAgICByZXNv
dXJjZS0+aXNNYWluUmVzb3VyY2UgPSBpc01haW5SZXNvdXJjZTsKLSAgICByZXNvdXJjZS0+X19y
ZWYgPSAxOwotCi0gICAgcmV0dXJuIHJlc291cmNlOworICAgIHJldHVybiBuZXcgRXdrX1dlYl9S
ZXNvdXJjZSh1cmwsIGlzTWFpblJlc291cmNlKTsKIH0KIAogRWluYV9Cb29sIGV3a193ZWJfcmVz
b3VyY2VfbWFpbl9yZXNvdXJjZV9nZXQoY29uc3QgRXdrX1dlYl9SZXNvdXJjZSogcmVzb3VyY2Up
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>