<?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>99549</bug_id>
          
          <creation_ts>2012-10-16 23:52:45 -0700</creation_ts>
          <short_desc>[EFL][WK2] Ewk_Url_Scheme_Request has to be refactored</short_desc>
          <delta_ts>2012-10-17 03:08:45 -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>
          
          <blocked>99321</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mikhail Pozdnyakov">mikhail.pozdnyakov</reporter>
          <assigned_to name="Mikhail Pozdnyakov">mikhail.pozdnyakov</assigned_to>
          <cc>cdumez</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kenneth</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>743914</commentid>
    <comment_count>0</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-10-16 23:52:45 -0700</bug_when>
    <thetext>Ewk_Url_Scheme_Request has to be refactored according to the pattern from bug#99321 + it should use WKEinaSharedString</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744003</commentid>
    <comment_count>1</comment_count>
      <attachid>169119</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-10-17 01:30:25 -0700</bug_when>
    <thetext>Created attachment 169119
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744018</commentid>
    <comment_count>2</comment_count>
      <attachid>169119</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-10-17 01:44:08 -0700</bug_when>
    <thetext>Comment on attachment 169119
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=169119&amp;action=review

&gt; Source/WebKit2/ChangeLog:8
&gt; +        Ewk_Url_Scheme_Requestis inherited from RefCounted, WKEinaSharedString are used,

&quot;Ewk_Url_Scheme_Request is&quot;

&gt; Source/WebKit2/UIProcess/API/efl/ewk_url_scheme_request_private.h:47
&gt; +    static PassRefPtr&lt;Ewk_Url_Scheme_Request&gt; create(WKSoupRequestManagerRef manager, WKStringRef url, uint64_t requestID)

I think we should pass a WKURLRef here instead of a WKStringRef.

&gt; Source/WebKit2/UIProcess/API/efl/ewk_url_scheme_request_private.h:56
&gt; +    Ewk_Url_Scheme_Request(WKSoupRequestManagerRef manager, WKStringRef urlString, uint64_t requestID)

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744030</commentid>
    <comment_count>3</comment_count>
      <attachid>169119</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-10-17 02:04:27 -0700</bug_when>
    <thetext>Comment on attachment 169119
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=169119&amp;action=review

&gt; Source/WebKit2/UIProcess/API/efl/ewk_context_request_manager_client.cpp:43
&gt; +    RefPtr&lt;Ewk_Url_Scheme_Request&gt; schemeRequest = Ewk_Url_Scheme_Request::create(soupRequestManagerRef, adoptWK(WKURLCopyString(urlRef)).get(), requestID);

So you copy the string then you adopt it (turning it into a RetainPtr&lt;WKStringRef&gt;, which you then passes the WKStringRef of (a pointer; const struct OpaqueWKString*), then it gets out of scope, meaning that it will be freed after this function call ends. That doesn&apos;t seem right, unless you copy it inbetween</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744058</commentid>
    <comment_count>4</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-10-17 02:33:33 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 169119 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=169119&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/efl/ewk_context_request_manager_client.cpp:43
&gt; &gt; +    RefPtr&lt;Ewk_Url_Scheme_Request&gt; schemeRequest = Ewk_Url_Scheme_Request::create(soupRequestManagerRef, adoptWK(WKURLCopyString(urlRef)).get(), requestID);
&gt; 
&gt; So you copy the string then you adopt it (turning it into a RetainPtr&lt;WKStringRef&gt;, which you then passes the WKStringRef of (a pointer; const struct OpaqueWKString*), then it gets out of scope, meaning that it will be freed after this function call ends. That doesn&apos;t seem right, unless you copy it inbetween

It&apos;ll be freed after Ewk_Url_Scheme_Request::create() exits because RefPtr will be kept on stack before. However, guess I should pass WKURLRef as Chris recommends</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744062</commentid>
    <comment_count>5</comment_count>
      <attachid>169138</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-10-17 02:39:48 -0700</bug_when>
    <thetext>Created attachment 169138
patch v2

Took comments from Chris and Kenneth into consideration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744091</commentid>
    <comment_count>6</comment_count>
      <attachid>169138</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-17 03:08:40 -0700</bug_when>
    <thetext>Comment on attachment 169138
patch v2

Clearing flags on attachment: 169138

Committed r131575: &lt;http://trac.webkit.org/changeset/131575&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744092</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-17 03:08:45 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169119</attachid>
            <date>2012-10-17 01:30:25 -0700</date>
            <delta_ts>2012-10-17 02:39:48 -0700</delta_ts>
            <desc>patch</desc>
            <filename>bug99549</filename>
            <type>text/plain</type>
            <size>9125</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IDRlNWQ2MjVhNTYwZTFiMmZjYWJlOTNjMDY2MjIxYWZmNzRhMDM2ZmIKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CkRhdGU6ICAg
V2VkIE9jdCAxNyAxMToxNzo0MiAyMDEyICswMzAwCgogICAgYnVnOTk1NDkKCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5k
ZXggOTk5Mjg3MS4uODU3MjA4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTEw
LTE3ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgor
CisgICAgICAgIFtFRkxdW1dLMl0gRXdrX1VybF9TY2hlbWVfUmVxdWVzdCBoYXMgdG8gYmUgcmVm
YWN0b3JlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
OTk1NDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBF
d2tfVXJsX1NjaGVtZV9SZXF1ZXN0aXMgaW5oZXJpdGVkIGZyb20gUmVmQ291bnRlZCwgV0tFaW5h
U2hhcmVkU3RyaW5nIGFyZSB1c2VkLAorICAgICAgICByZW1vdmVkIHdlaXJkIF9Fd2tfVXJsX1Nj
aGVtZV9SZXF1ZXN0LgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRf
cHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X3JlcXVl
c3RfbWFuYWdlcl9jbGllbnQuY3BwOgorICAgICAgICAoZGlkUmVjZWl2ZVVSSVJlcXVlc3QpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a191cmxfc2NoZW1lX3JlcXVlc3QuY3BwOgor
ICAgICAgICAoZXdrX3VybF9zY2hlbWVfcmVxdWVzdF9yZWYpOgorICAgICAgICAoZXdrX3VybF9z
Y2hlbWVfcmVxdWVzdF91bnJlZik6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3Vy
bF9zY2hlbWVfcmVxdWVzdC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a191cmxf
c2NoZW1lX3JlcXVlc3RfcHJpdmF0ZS5oOgorICAgICAgICAoRXdrX1VybF9TY2hlbWVfUmVxdWVz
dCk6CisgICAgICAgIChFd2tfVXJsX1NjaGVtZV9SZXF1ZXN0OjpjcmVhdGUpOgorICAgICAgICAo
RXdrX1VybF9TY2hlbWVfUmVxdWVzdDo6RXdrX1VybF9TY2hlbWVfUmVxdWVzdCk6CisKIDIwMTIt
MTAtMTcgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KIAog
ICAgICAgICBbRUZMXVtXSzJdIFN0YXJ0IHVzaW5nIE93blB0ciBmb3Igbm9uLXJlZiBjb3VudGVk
IGV3ayB0eXBlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
ZXdrX2NvbnRleHRfcHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
ZXdrX2NvbnRleHRfcHJpdmF0ZS5oCmluZGV4IGYyYzMyMmEuLjI5Zjc0YTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X3ByaXZhdGUuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9wcml2YXRl
LmgKQEAgLTI0LDcgKzI0LDcgQEAKIAogdHlwZWRlZiBzdHJ1Y3QgX0V3a19Db250ZXh0IEV3a19D
b250ZXh0OwogdHlwZWRlZiBzdHJ1Y3QgX0V3a19Eb3dubG9hZF9Kb2IgRXdrX0Rvd25sb2FkX0pv
YjsKLXR5cGVkZWYgc3RydWN0IF9Fd2tfVXJsX1NjaGVtZV9SZXF1ZXN0IEV3a19VcmxfU2NoZW1l
X1JlcXVlc3Q7Cit0eXBlZGVmIHN0cnVjdCBFd2tfVXJsX1NjaGVtZV9SZXF1ZXN0IEV3a19Vcmxf
U2NoZW1lX1JlcXVlc3Q7CiB0eXBlZGVmIHN0cnVjdCBfRXdrX0NvbnRleHRfSGlzdG9yeV9DbGll
bnQgRXdrX0NvbnRleHRfSGlzdG9yeV9DbGllbnQ7CiAKIFdLQ29udGV4dFJlZiBld2tfY29udGV4
dF9XS0NvbnRleHRfZ2V0KGNvbnN0IEV3a19Db250ZXh0Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9yZXF1ZXN0X21hbmFnZXJfY2xp
ZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X3Jl
cXVlc3RfbWFuYWdlcl9jbGllbnQuY3BwCmluZGV4IDVhNzcwNzIuLjBlN2MyMDQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X3JlcXVlc3Rf
bWFuYWdlcl9jbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L2V3a19jb250ZXh0X3JlcXVlc3RfbWFuYWdlcl9jbGllbnQuY3BwCkBAIC0yNyw2ICsyNyw3IEBA
CiAKICNpbmNsdWRlICJXS0Jhc2UuaCIKICNpbmNsdWRlICJXS1NvdXBSZXF1ZXN0TWFuYWdlci5o
IgorI2luY2x1ZGUgIldLVVJMLmgiCiAjaW5jbHVkZSAiZXdrX2NvbnRleHRfcHJpdmF0ZS5oIgog
I2luY2x1ZGUgImV3a19jb250ZXh0X3JlcXVlc3RfbWFuYWdlcl9jbGllbnRfcHJpdmF0ZS5oIgog
I2luY2x1ZGUgImV3a191cmxfc2NoZW1lX3JlcXVlc3QuaCIKQEAgLTM5LDkgKzQwLDggQEAgc3Rh
dGljIGlubGluZSBFd2tfQ29udGV4dCogdG9Fd2tDb250ZXh0KGNvbnN0IHZvaWQqIGNsaWVudElu
Zm8pCiAKIHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVVUklSZXF1ZXN0KFdLU291cFJlcXVlc3RNYW5h
Z2VyUmVmIHNvdXBSZXF1ZXN0TWFuYWdlclJlZiwgV0tVUkxSZWYgdXJsUmVmLCBXS1BhZ2VSZWYs
IHVpbnQ2NF90IHJlcXVlc3RJRCwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKIHsKLSAgICBFd2tf
VXJsX1NjaGVtZV9SZXF1ZXN0KiBzY2hlbWVSZXF1ZXN0ID0gZXdrX3VybF9zY2hlbWVfcmVxdWVz
dF9uZXcoc291cFJlcXVlc3RNYW5hZ2VyUmVmLCB1cmxSZWYsIHJlcXVlc3RJRCk7Ci0gICAgZXdr
X2NvbnRleHRfdXJsX3NjaGVtZV9yZXF1ZXN0X3JlY2VpdmVkKHRvRXdrQ29udGV4dChjbGllbnRJ
bmZvKSwgc2NoZW1lUmVxdWVzdCk7Ci0gICAgZXdrX3VybF9zY2hlbWVfcmVxdWVzdF91bnJlZihz
Y2hlbWVSZXF1ZXN0KTsKKyAgICBSZWZQdHI8RXdrX1VybF9TY2hlbWVfUmVxdWVzdD4gc2NoZW1l
UmVxdWVzdCA9IEV3a19VcmxfU2NoZW1lX1JlcXVlc3Q6OmNyZWF0ZShzb3VwUmVxdWVzdE1hbmFn
ZXJSZWYsIGFkb3B0V0soV0tVUkxDb3B5U3RyaW5nKHVybFJlZikpLmdldCgpLCByZXF1ZXN0SUQp
OworICAgIGV3a19jb250ZXh0X3VybF9zY2hlbWVfcmVxdWVzdF9yZWNlaXZlZCh0b0V3a0NvbnRl
eHQoY2xpZW50SW5mbyksIHNjaGVtZVJlcXVlc3QuZ2V0KCkpOwogfQogCiB2b2lkIGV3a19jb250
ZXh0X3JlcXVlc3RfbWFuYWdlcl9jbGllbnRfYXR0YWNoKEV3a19Db250ZXh0KiBjb250ZXh0KQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3VybF9zY2hl
bWVfcmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJs
X3NjaGVtZV9yZXF1ZXN0LmNwcAppbmRleCBkZjE2NDcwLi5mYWMzNjI4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3NjaGVtZV9yZXF1ZXN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3NjaGVtZV9y
ZXF1ZXN0LmNwcApAQCAtMjYsNTEgKzI2LDE2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5j
bHVkZSAiZXdrX3VybF9zY2hlbWVfcmVxdWVzdC5oIgogCi0jaW5jbHVkZSAiR093blB0clNvdXAu
aCIKICNpbmNsdWRlICJXS0RhdGEuaCIKLSNpbmNsdWRlICJXS1JldGFpblB0ci5oIgotI2luY2x1
ZGUgIldLU291cFJlcXVlc3RNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiV0tTdHJpbmcuaCIKLSNpbmNs
dWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CisjaW5jbHVkZSAiZXdrX3VybF9zY2hlbWVfcmVxdWVz
dF9wcml2YXRlLmgiCiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKLS8qKgotICogXHN0cnVj
dCAgX0V3a19VcmxfU2NoZW1lX1JlcXVlc3QKLSAqIEBicmllZiAgIENvbnRhaW5zIHRoZSBVUkwg
c2NoZW1lIHJlcXVlc3QgZGF0YS4KLSAqLwotc3RydWN0IF9Fd2tfVXJsX1NjaGVtZV9SZXF1ZXN0
IHsKLSAgICB1bnNpZ25lZCBpbnQgX19yZWY7IC8qKjwgdGhlIHJlZmVyZW5jZSBjb3VudCBvZiB0
aGUgb2JqZWN0ICovCi0gICAgV0tSZXRhaW5QdHI8V0tTb3VwUmVxdWVzdE1hbmFnZXJSZWY+IHdr
UmVxdWVzdE1hbmFnZXI7Ci0gICAgY29uc3QgY2hhciogdXJsOwotICAgIHVpbnQ2NF90IHJlcXVl
c3RJRDsKLSAgICBjb25zdCBjaGFyKiBzY2hlbWU7Ci0gICAgY29uc3QgY2hhciogcGF0aDsKLQot
ICAgIF9Fd2tfVXJsX1NjaGVtZV9SZXF1ZXN0KFdLU291cFJlcXVlc3RNYW5hZ2VyUmVmIG1hbmFn
ZXIsIGNvbnN0IGNoYXIqIF91cmwsIHVpbnQ2NF90IF9yZXF1ZXN0SUQpCi0gICAgICAgIDogX19y
ZWYoMSkKLSAgICAgICAgLCB3a1JlcXVlc3RNYW5hZ2VyKG1hbmFnZXIpCi0gICAgICAgICwgdXJs
KGVpbmFfc3RyaW5nc2hhcmVfYWRkKF91cmwpKQotICAgICAgICAsIHJlcXVlc3RJRChfcmVxdWVz
dElEKQotICAgIHsKLSAgICAgICAgR093blB0cjxTb3VwVVJJPiBzb3VwVVJJKHNvdXBfdXJpX25l
dyhfdXJsKSk7Ci0gICAgICAgIHNjaGVtZSA9IGVpbmFfc3RyaW5nc2hhcmVfYWRkKHNvdXBVUkkt
PnNjaGVtZSk7Ci0gICAgICAgIHBhdGggPSBlaW5hX3N0cmluZ3NoYXJlX2FkZChzb3VwVVJJLT5w
YXRoKTsKLSAgICB9Ci0KLSAgICB+X0V3a19VcmxfU2NoZW1lX1JlcXVlc3QoKQotICAgIHsKLSAg
ICAgICAgQVNTRVJUKCFfX3JlZik7Ci0gICAgICAgIGVpbmFfc3RyaW5nc2hhcmVfZGVsKHVybCk7
Ci0gICAgICAgIGVpbmFfc3RyaW5nc2hhcmVfZGVsKHNjaGVtZSk7Ci0gICAgICAgIGVpbmFfc3Ry
aW5nc2hhcmVfZGVsKHBhdGgpOwotICAgIH0KLX07Ci0KIEV3a19VcmxfU2NoZW1lX1JlcXVlc3Qq
IGV3a191cmxfc2NoZW1lX3JlcXVlc3RfcmVmKEV3a19VcmxfU2NoZW1lX1JlcXVlc3QqIHJlcXVl
c3QpCiB7CiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKHJlcXVlc3QsIDApOwot
ICAgICsrcmVxdWVzdC0+X19yZWY7CisgICAgcmVxdWVzdC0+cmVmKCk7CiAKICAgICByZXR1cm4g
cmVxdWVzdDsKIH0KQEAgLTc5LDEwICs0NCw3IEBAIHZvaWQgZXdrX3VybF9zY2hlbWVfcmVxdWVz
dF91bnJlZihFd2tfVXJsX1NjaGVtZV9SZXF1ZXN0KiByZXF1ZXN0KQogewogICAgIEVJTkFfU0FG
RVRZX09OX05VTExfUkVUVVJOKHJlcXVlc3QpOwogCi0gICAgaWYgKC0tcmVxdWVzdC0+X19yZWYp
Ci0gICAgICAgIHJldHVybjsKLQotICAgIGRlbGV0ZSByZXF1ZXN0OworICAgIHJlcXVlc3QtPmRl
cmVmKCk7CiB9CiAKIGNvbnN0IGNoYXIqIGV3a191cmxfc2NoZW1lX3JlcXVlc3Rfc2NoZW1lX2dl
dChjb25zdCBFd2tfVXJsX1NjaGVtZV9SZXF1ZXN0KiByZXF1ZXN0KQpAQCAtMTA2LDE3ICs2OCw2
IEBAIGNvbnN0IGNoYXIqIGV3a191cmxfc2NoZW1lX3JlcXVlc3RfcGF0aF9nZXQoY29uc3QgRXdr
X1VybF9TY2hlbWVfUmVxdWVzdCogcmVxdWVzCiAgICAgcmV0dXJuIHJlcXVlc3QtPnBhdGg7CiB9
CiAKLS8qKgotICogQGludGVybmFsCi0gKiBSZXR1cm5zIHRoZSAjRXdrX1VybF9TY2hlbWVfUmVx
dWVzdCBpZGVudGlmaWVyLgotICovCi11aW50NjRfdCBld2tfdXJsX3NjaGVtZV9yZXF1ZXN0X2lk
X2dldChjb25zdCBFd2tfVXJsX1NjaGVtZV9SZXF1ZXN0KiByZXF1ZXN0KQotewotICAgIEVJTkFf
U0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChyZXF1ZXN0LCAwKTsKLQotICAgIHJldHVybiByZXF1
ZXN0LT5yZXF1ZXN0SUQ7Ci19Ci0KIEVpbmFfQm9vbCBld2tfdXJsX3NjaGVtZV9yZXF1ZXN0X2Zp
bmlzaChjb25zdCBFd2tfVXJsX1NjaGVtZV9SZXF1ZXN0KiByZXF1ZXN0LCBjb25zdCB2b2lkKiBj
b250ZW50RGF0YSwgdW5zaWduZWQgaW50IGNvbnRlbnRMZW5ndGgsIGNvbnN0IGNoYXIqIG1pbWVU
eXBlKQogewogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChyZXF1ZXN0LCBmYWxz
ZSk7CkBAIC0xMjksMTUgKzgwLDMgQEAgRWluYV9Cb29sIGV3a191cmxfc2NoZW1lX3JlcXVlc3Rf
ZmluaXNoKGNvbnN0IEV3a19VcmxfU2NoZW1lX1JlcXVlc3QqIHJlcXVlc3QsIGMKIAogICAgIHJl
dHVybiB0cnVlOwogfQotCi0vKioKLSAqIEBpbnRlcm5hbAotICogQ29uc3RydWN0cyBhIEV3a19V
cmxfU2NoZW1lX1JlcXVlc3QuCi0gKi8KLUV3a19VcmxfU2NoZW1lX1JlcXVlc3QqIGV3a191cmxf
c2NoZW1lX3JlcXVlc3RfbmV3KFdLU291cFJlcXVlc3RNYW5hZ2VyUmVmIHJlcXVlc3RNYW5hZ2Vy
LCBXS1VSTFJlZiB1cmwsIHVpbnQ2NF90IHJlcXVlc3RJRCkKLXsKLSAgICBFSU5BX1NBRkVUWV9P
Tl9OVUxMX1JFVFVSTl9WQUwocmVxdWVzdE1hbmFnZXIsIDApOwotICAgIEVJTkFfU0FGRVRZX09O
X05VTExfUkVUVVJOX1ZBTCh1cmwsIDApOwotCi0gICAgcmV0dXJuIG5ldyBFd2tfVXJsX1NjaGVt
ZV9SZXF1ZXN0KHJlcXVlc3RNYW5hZ2VyLCB0b0ltcGwodXJsKS0+c3RyaW5nKCkudXRmOCgpLmRh
dGEoKSwgcmVxdWVzdElEKTsKLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a191cmxfc2NoZW1lX3JlcXVlc3QuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL2V3a191cmxfc2NoZW1lX3JlcXVlc3QuaAppbmRleCA5NzI3NTkwLi45NGI1
MDI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJs
X3NjaGVtZV9yZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
ZXdrX3VybF9zY2hlbWVfcmVxdWVzdC5oCkBAIC0zOCw3ICszOCw3IEBAIGV4dGVybiAiQyIgewog
I2VuZGlmCiAKIC8qKiBDcmVhdGVzIGEgdHlwZSBuYW1lIGZvciBfRXdrX1VybF9TY2hlbWVfUmVx
dWVzdCAqLwotdHlwZWRlZiBzdHJ1Y3QgX0V3a19VcmxfU2NoZW1lX1JlcXVlc3QgRXdrX1VybF9T
Y2hlbWVfUmVxdWVzdDsKK3R5cGVkZWYgc3RydWN0IEV3a19VcmxfU2NoZW1lX1JlcXVlc3QgRXdr
X1VybF9TY2hlbWVfUmVxdWVzdDsKIAogLyoqCiAgKiBJbmNyZWFzZXMgdGhlIHJlZmVyZW5jZSBj
b3VudCBvZiB0aGUgZ2l2ZW4gb2JqZWN0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX3VybF9zY2hlbWVfcmVxdWVzdF9wcml2YXRlLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3NjaGVtZV9yZXF1ZXN0X3ByaXZhdGUu
aAppbmRleCBlNWRkNDE3Li5iOWYyNTBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3NjaGVtZV9yZXF1ZXN0X3ByaXZhdGUuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3NjaGVtZV9yZXF1ZXN0X3ByaXZh
dGUuaApAQCAtMjYsMTMgKzI2LDQyIEBACiAjaWZuZGVmIGV3a191cmxfc2NoZW1lX3JlcXVlc3Rf
cHJpdmF0ZV9oCiAjZGVmaW5lIGV3a191cmxfc2NoZW1lX3JlcXVlc3RfcHJpdmF0ZV9oCiAKKyNp
bmNsdWRlICJHT3duUHRyU291cC5oIgorI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgogI2luY2x1ZGUg
IldLQmFzZS5oIgorI2luY2x1ZGUgIldLRWluYVNoYXJlZFN0cmluZy5oIgorI2luY2x1ZGUgIldL
UmV0YWluUHRyLmgiCisjaW5jbHVkZSAiV0tTb3VwUmVxdWVzdE1hbmFnZXIuaCIKIAotdHlwZWRl
ZiBzdHJ1Y3QgX0V3a19VcmxfU2NoZW1lX1JlcXVlc3QgRXdrX1VybF9TY2hlbWVfUmVxdWVzdDsK
LXR5cGVkZWYgc3RydWN0IF9Fd2tfQ29udGV4dCBFd2tfQ29udGV4dDsKKy8qKgorICogXHN0cnVj
dCAgX0V3a19VcmxfU2NoZW1lX1JlcXVlc3QKKyAqIEBicmllZiAgIENvbnRhaW5zIHRoZSBVUkwg
c2NoZW1lIHJlcXVlc3QgZGF0YS4KKyAqLworc3RydWN0IEV3a19VcmxfU2NoZW1lX1JlcXVlc3Qg
OiBwdWJsaWMgUmVmQ291bnRlZDxFd2tfVXJsX1NjaGVtZV9SZXF1ZXN0PiB7CisgICAgV0tSZXRh
aW5QdHI8V0tTb3VwUmVxdWVzdE1hbmFnZXJSZWY+IHdrUmVxdWVzdE1hbmFnZXI7CisgICAgV0tF
aW5hU2hhcmVkU3RyaW5nIHVybDsKKyAgICB1aW50NjRfdCByZXF1ZXN0SUQ7CisgICAgV0tFaW5h
U2hhcmVkU3RyaW5nIHNjaGVtZTsKKyAgICBXS0VpbmFTaGFyZWRTdHJpbmcgcGF0aDsKKworICAg
IHN0YXRpYyBQYXNzUmVmUHRyPEV3a19VcmxfU2NoZW1lX1JlcXVlc3Q+IGNyZWF0ZShXS1NvdXBS
ZXF1ZXN0TWFuYWdlclJlZiBtYW5hZ2VyLCBXS1N0cmluZ1JlZiB1cmwsIHVpbnQ2NF90IHJlcXVl
c3RJRCkKKyAgICB7CisgICAgICAgIGlmICghbWFuYWdlciB8fCAhdXJsKQorICAgICAgICAgICAg
cmV0dXJuIDA7CiAKLUV3a19VcmxfU2NoZW1lX1JlcXVlc3QqIGV3a191cmxfc2NoZW1lX3JlcXVl
c3RfbmV3KFdLU291cFJlcXVlc3RNYW5hZ2VyUmVmLCBXS1VSTFJlZiwgdWludDY0X3QgcmVxdWVz
dElEKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBFd2tfVXJsX1NjaGVtZV9SZXF1ZXN0
KG1hbmFnZXIsIHVybCwgcmVxdWVzdElEKSk7CisgICAgfQogCi11aW50NjRfdCBld2tfdXJsX3Nj
aGVtZV9yZXF1ZXN0X2lkX2dldChjb25zdCBFd2tfVXJsX1NjaGVtZV9SZXF1ZXN0KiByZXF1ZXN0
KTsKK3ByaXZhdGU6CisgICAgRXdrX1VybF9TY2hlbWVfUmVxdWVzdChXS1NvdXBSZXF1ZXN0TWFu
YWdlclJlZiBtYW5hZ2VyLCBXS1N0cmluZ1JlZiB1cmxTdHJpbmcsIHVpbnQ2NF90IHJlcXVlc3RJ
RCkKKyAgICAgICAgOiB3a1JlcXVlc3RNYW5hZ2VyKG1hbmFnZXIpCisgICAgICAgICwgdXJsKHVy
bFN0cmluZykKKyAgICAgICAgLCByZXF1ZXN0SUQocmVxdWVzdElEKQorICAgIHsKKyAgICAgICAg
R093blB0cjxTb3VwVVJJPiBzb3VwVVJJKHNvdXBfdXJpX25ldyh1cmwpKTsKKyAgICAgICAgc2No
ZW1lID0gc291cFVSSS0+c2NoZW1lOworICAgICAgICBwYXRoID0gc291cFVSSS0+cGF0aDsgICAg
ICAgIAorICAgIH0KK307CiAKICNlbmRpZiAvLyBld2tfdXJsX3NjaGVtZV9yZXF1ZXN0X3ByaXZh
dGVfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169138</attachid>
            <date>2012-10-17 02:39:48 -0700</date>
            <delta_ts>2012-10-17 03:08:40 -0700</delta_ts>
            <desc>patch v2</desc>
            <filename>bug99549_v2</filename>
            <type>text/plain</type>
            <size>9080</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IDYwMjBlZmQ4YWNhZGY5ZmI0ZTFhZDdiMzUxYTllMDJjMGYwNGVkMzcKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CkRhdGU6ICAg
V2VkIE9jdCAxNyAxMToxNzo0MiAyMDEyICswMzAwCgogICAgYnVnOTk1NDkKCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5k
ZXggOTk5Mjg3MS4uODg5NGI2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTEw
LTE3ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgor
CisgICAgICAgIFtFRkxdW1dLMl0gRXdrX1VybF9TY2hlbWVfUmVxdWVzdCBoYXMgdG8gYmUgcmVm
YWN0b3JlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
OTk1NDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBF
d2tfVXJsX1NjaGVtZV9SZXF1ZXN0aXMgaW5oZXJpdGVkIGZyb20gUmVmQ291bnRlZCwgV0tFaW5h
U2hhcmVkU3RyaW5nIGlzIHVzZWQsCisgICAgICAgIHJlbW92ZWQgd2VpcmQgX0V3a19VcmxfU2No
ZW1lX1JlcXVlc3QuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9w
cml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfcmVxdWVz
dF9tYW5hZ2VyX2NsaWVudC5jcHA6CisgICAgICAgIChkaWRSZWNlaXZlVVJJUmVxdWVzdCk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3VybF9zY2hlbWVfcmVxdWVzdC5jcHA6Cisg
ICAgICAgIChld2tfdXJsX3NjaGVtZV9yZXF1ZXN0X3JlZik6CisgICAgICAgIChld2tfdXJsX3Nj
aGVtZV9yZXF1ZXN0X3VucmVmKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJs
X3NjaGVtZV9yZXF1ZXN0Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3VybF9z
Y2hlbWVfcmVxdWVzdF9wcml2YXRlLmg6CisgICAgICAgIChFd2tfVXJsX1NjaGVtZV9SZXF1ZXN0
KToKKyAgICAgICAgKEV3a19VcmxfU2NoZW1lX1JlcXVlc3Q6OmNyZWF0ZSk6CisgICAgICAgIChF
d2tfVXJsX1NjaGVtZV9SZXF1ZXN0OjpFd2tfVXJsX1NjaGVtZV9SZXF1ZXN0KToKKwogMjAxMi0x
MC0xNyAgQ2hyaXN0b3BoZSBEdW1leiAgPGNocmlzdG9waGUuZHVtZXpAaW50ZWwuY29tPgogCiAg
ICAgICAgIFtFRkxdW1dLMl0gU3RhcnQgdXNpbmcgT3duUHRyIGZvciBub24tcmVmIGNvdW50ZWQg
ZXdrIHR5cGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9l
d2tfY29udGV4dF9wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9l
d2tfY29udGV4dF9wcml2YXRlLmgKaW5kZXggZjJjMzIyYS4uMjlmNzRhMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfcHJpdmF0ZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X3ByaXZhdGUu
aApAQCAtMjQsNyArMjQsNyBAQAogCiB0eXBlZGVmIHN0cnVjdCBfRXdrX0NvbnRleHQgRXdrX0Nv
bnRleHQ7CiB0eXBlZGVmIHN0cnVjdCBfRXdrX0Rvd25sb2FkX0pvYiBFd2tfRG93bmxvYWRfSm9i
OwotdHlwZWRlZiBzdHJ1Y3QgX0V3a19VcmxfU2NoZW1lX1JlcXVlc3QgRXdrX1VybF9TY2hlbWVf
UmVxdWVzdDsKK3R5cGVkZWYgc3RydWN0IEV3a19VcmxfU2NoZW1lX1JlcXVlc3QgRXdrX1VybF9T
Y2hlbWVfUmVxdWVzdDsKIHR5cGVkZWYgc3RydWN0IF9Fd2tfQ29udGV4dF9IaXN0b3J5X0NsaWVu
dCBFd2tfQ29udGV4dF9IaXN0b3J5X0NsaWVudDsKIAogV0tDb250ZXh0UmVmIGV3a19jb250ZXh0
X1dLQ29udGV4dF9nZXQoY29uc3QgRXdrX0NvbnRleHQqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X3JlcXVlc3RfbWFuYWdlcl9jbGll
bnQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfcmVx
dWVzdF9tYW5hZ2VyX2NsaWVudC5jcHAKaW5kZXggNWE3NzA3Mi4uYjI1NzNjYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfcmVxdWVzdF9t
YW5hZ2VyX2NsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
ZXdrX2NvbnRleHRfcmVxdWVzdF9tYW5hZ2VyX2NsaWVudC5jcHAKQEAgLTI3LDYgKzI3LDcgQEAK
IAogI2luY2x1ZGUgIldLQmFzZS5oIgogI2luY2x1ZGUgIldLU291cFJlcXVlc3RNYW5hZ2VyLmgi
CisjaW5jbHVkZSAiV0tVUkwuaCIKICNpbmNsdWRlICJld2tfY29udGV4dF9wcml2YXRlLmgiCiAj
aW5jbHVkZSAiZXdrX2NvbnRleHRfcmVxdWVzdF9tYW5hZ2VyX2NsaWVudF9wcml2YXRlLmgiCiAj
aW5jbHVkZSAiZXdrX3VybF9zY2hlbWVfcmVxdWVzdC5oIgpAQCAtMzksOSArNDAsOCBAQCBzdGF0
aWMgaW5saW5lIEV3a19Db250ZXh0KiB0b0V3a0NvbnRleHQoY29uc3Qgdm9pZCogY2xpZW50SW5m
bykKIAogc3RhdGljIHZvaWQgZGlkUmVjZWl2ZVVSSVJlcXVlc3QoV0tTb3VwUmVxdWVzdE1hbmFn
ZXJSZWYgc291cFJlcXVlc3RNYW5hZ2VyUmVmLCBXS1VSTFJlZiB1cmxSZWYsIFdLUGFnZVJlZiwg
dWludDY0X3QgcmVxdWVzdElELCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQogewotICAgIEV3a19V
cmxfU2NoZW1lX1JlcXVlc3QqIHNjaGVtZVJlcXVlc3QgPSBld2tfdXJsX3NjaGVtZV9yZXF1ZXN0
X25ldyhzb3VwUmVxdWVzdE1hbmFnZXJSZWYsIHVybFJlZiwgcmVxdWVzdElEKTsKLSAgICBld2tf
Y29udGV4dF91cmxfc2NoZW1lX3JlcXVlc3RfcmVjZWl2ZWQodG9Fd2tDb250ZXh0KGNsaWVudElu
Zm8pLCBzY2hlbWVSZXF1ZXN0KTsKLSAgICBld2tfdXJsX3NjaGVtZV9yZXF1ZXN0X3VucmVmKHNj
aGVtZVJlcXVlc3QpOworICAgIFJlZlB0cjxFd2tfVXJsX1NjaGVtZV9SZXF1ZXN0PiBzY2hlbWVS
ZXF1ZXN0ID0gRXdrX1VybF9TY2hlbWVfUmVxdWVzdDo6Y3JlYXRlKHNvdXBSZXF1ZXN0TWFuYWdl
clJlZiwgdXJsUmVmLCByZXF1ZXN0SUQpOworICAgIGV3a19jb250ZXh0X3VybF9zY2hlbWVfcmVx
dWVzdF9yZWNlaXZlZCh0b0V3a0NvbnRleHQoY2xpZW50SW5mbyksIHNjaGVtZVJlcXVlc3QuZ2V0
KCkpOwogfQogCiB2b2lkIGV3a19jb250ZXh0X3JlcXVlc3RfbWFuYWdlcl9jbGllbnRfYXR0YWNo
KEV3a19Db250ZXh0KiBjb250ZXh0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX3VybF9zY2hlbWVfcmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3NjaGVtZV9yZXF1ZXN0LmNwcAppbmRleCBkZjE2NDcw
Li5mYWMzNjI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9l
d2tfdXJsX3NjaGVtZV9yZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9ld2tfdXJsX3NjaGVtZV9yZXF1ZXN0LmNwcApAQCAtMjYsNTEgKzI2LDE2IEBACiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiZXdrX3VybF9zY2hlbWVfcmVxdWVzdC5oIgog
Ci0jaW5jbHVkZSAiR093blB0clNvdXAuaCIKICNpbmNsdWRlICJXS0RhdGEuaCIKLSNpbmNsdWRl
ICJXS1JldGFpblB0ci5oIgotI2luY2x1ZGUgIldLU291cFJlcXVlc3RNYW5hZ2VyLmgiCiAjaW5j
bHVkZSAiV0tTdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CisjaW5jbHVk
ZSAiZXdrX3VybF9zY2hlbWVfcmVxdWVzdF9wcml2YXRlLmgiCiAKIHVzaW5nIG5hbWVzcGFjZSBX
ZWJLaXQ7CiAKLS8qKgotICogXHN0cnVjdCAgX0V3a19VcmxfU2NoZW1lX1JlcXVlc3QKLSAqIEBi
cmllZiAgIENvbnRhaW5zIHRoZSBVUkwgc2NoZW1lIHJlcXVlc3QgZGF0YS4KLSAqLwotc3RydWN0
IF9Fd2tfVXJsX1NjaGVtZV9SZXF1ZXN0IHsKLSAgICB1bnNpZ25lZCBpbnQgX19yZWY7IC8qKjwg
dGhlIHJlZmVyZW5jZSBjb3VudCBvZiB0aGUgb2JqZWN0ICovCi0gICAgV0tSZXRhaW5QdHI8V0tT
b3VwUmVxdWVzdE1hbmFnZXJSZWY+IHdrUmVxdWVzdE1hbmFnZXI7Ci0gICAgY29uc3QgY2hhciog
dXJsOwotICAgIHVpbnQ2NF90IHJlcXVlc3RJRDsKLSAgICBjb25zdCBjaGFyKiBzY2hlbWU7Ci0g
ICAgY29uc3QgY2hhciogcGF0aDsKLQotICAgIF9Fd2tfVXJsX1NjaGVtZV9SZXF1ZXN0KFdLU291
cFJlcXVlc3RNYW5hZ2VyUmVmIG1hbmFnZXIsIGNvbnN0IGNoYXIqIF91cmwsIHVpbnQ2NF90IF9y
ZXF1ZXN0SUQpCi0gICAgICAgIDogX19yZWYoMSkKLSAgICAgICAgLCB3a1JlcXVlc3RNYW5hZ2Vy
KG1hbmFnZXIpCi0gICAgICAgICwgdXJsKGVpbmFfc3RyaW5nc2hhcmVfYWRkKF91cmwpKQotICAg
ICAgICAsIHJlcXVlc3RJRChfcmVxdWVzdElEKQotICAgIHsKLSAgICAgICAgR093blB0cjxTb3Vw
VVJJPiBzb3VwVVJJKHNvdXBfdXJpX25ldyhfdXJsKSk7Ci0gICAgICAgIHNjaGVtZSA9IGVpbmFf
c3RyaW5nc2hhcmVfYWRkKHNvdXBVUkktPnNjaGVtZSk7Ci0gICAgICAgIHBhdGggPSBlaW5hX3N0
cmluZ3NoYXJlX2FkZChzb3VwVVJJLT5wYXRoKTsKLSAgICB9Ci0KLSAgICB+X0V3a19VcmxfU2No
ZW1lX1JlcXVlc3QoKQotICAgIHsKLSAgICAgICAgQVNTRVJUKCFfX3JlZik7Ci0gICAgICAgIGVp
bmFfc3RyaW5nc2hhcmVfZGVsKHVybCk7Ci0gICAgICAgIGVpbmFfc3RyaW5nc2hhcmVfZGVsKHNj
aGVtZSk7Ci0gICAgICAgIGVpbmFfc3RyaW5nc2hhcmVfZGVsKHBhdGgpOwotICAgIH0KLX07Ci0K
IEV3a19VcmxfU2NoZW1lX1JlcXVlc3QqIGV3a191cmxfc2NoZW1lX3JlcXVlc3RfcmVmKEV3a19V
cmxfU2NoZW1lX1JlcXVlc3QqIHJlcXVlc3QpCiB7CiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9S
RVRVUk5fVkFMKHJlcXVlc3QsIDApOwotICAgICsrcmVxdWVzdC0+X19yZWY7CisgICAgcmVxdWVz
dC0+cmVmKCk7CiAKICAgICByZXR1cm4gcmVxdWVzdDsKIH0KQEAgLTc5LDEwICs0NCw3IEBAIHZv
aWQgZXdrX3VybF9zY2hlbWVfcmVxdWVzdF91bnJlZihFd2tfVXJsX1NjaGVtZV9SZXF1ZXN0KiBy
ZXF1ZXN0KQogewogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOKHJlcXVlc3QpOwogCi0g
ICAgaWYgKC0tcmVxdWVzdC0+X19yZWYpCi0gICAgICAgIHJldHVybjsKLQotICAgIGRlbGV0ZSBy
ZXF1ZXN0OworICAgIHJlcXVlc3QtPmRlcmVmKCk7CiB9CiAKIGNvbnN0IGNoYXIqIGV3a191cmxf
c2NoZW1lX3JlcXVlc3Rfc2NoZW1lX2dldChjb25zdCBFd2tfVXJsX1NjaGVtZV9SZXF1ZXN0KiBy
ZXF1ZXN0KQpAQCAtMTA2LDE3ICs2OCw2IEBAIGNvbnN0IGNoYXIqIGV3a191cmxfc2NoZW1lX3Jl
cXVlc3RfcGF0aF9nZXQoY29uc3QgRXdrX1VybF9TY2hlbWVfUmVxdWVzdCogcmVxdWVzCiAgICAg
cmV0dXJuIHJlcXVlc3QtPnBhdGg7CiB9CiAKLS8qKgotICogQGludGVybmFsCi0gKiBSZXR1cm5z
IHRoZSAjRXdrX1VybF9TY2hlbWVfUmVxdWVzdCBpZGVudGlmaWVyLgotICovCi11aW50NjRfdCBl
d2tfdXJsX3NjaGVtZV9yZXF1ZXN0X2lkX2dldChjb25zdCBFd2tfVXJsX1NjaGVtZV9SZXF1ZXN0
KiByZXF1ZXN0KQotewotICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChyZXF1ZXN0
LCAwKTsKLQotICAgIHJldHVybiByZXF1ZXN0LT5yZXF1ZXN0SUQ7Ci19Ci0KIEVpbmFfQm9vbCBl
d2tfdXJsX3NjaGVtZV9yZXF1ZXN0X2ZpbmlzaChjb25zdCBFd2tfVXJsX1NjaGVtZV9SZXF1ZXN0
KiByZXF1ZXN0LCBjb25zdCB2b2lkKiBjb250ZW50RGF0YSwgdW5zaWduZWQgaW50IGNvbnRlbnRM
ZW5ndGgsIGNvbnN0IGNoYXIqIG1pbWVUeXBlKQogewogICAgIEVJTkFfU0FGRVRZX09OX05VTExf
UkVUVVJOX1ZBTChyZXF1ZXN0LCBmYWxzZSk7CkBAIC0xMjksMTUgKzgwLDMgQEAgRWluYV9Cb29s
IGV3a191cmxfc2NoZW1lX3JlcXVlc3RfZmluaXNoKGNvbnN0IEV3a19VcmxfU2NoZW1lX1JlcXVl
c3QqIHJlcXVlc3QsIGMKIAogICAgIHJldHVybiB0cnVlOwogfQotCi0vKioKLSAqIEBpbnRlcm5h
bAotICogQ29uc3RydWN0cyBhIEV3a19VcmxfU2NoZW1lX1JlcXVlc3QuCi0gKi8KLUV3a19Vcmxf
U2NoZW1lX1JlcXVlc3QqIGV3a191cmxfc2NoZW1lX3JlcXVlc3RfbmV3KFdLU291cFJlcXVlc3RN
YW5hZ2VyUmVmIHJlcXVlc3RNYW5hZ2VyLCBXS1VSTFJlZiB1cmwsIHVpbnQ2NF90IHJlcXVlc3RJ
RCkKLXsKLSAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwocmVxdWVzdE1hbmFnZXIs
IDApOwotICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTCh1cmwsIDApOwotCi0gICAg
cmV0dXJuIG5ldyBFd2tfVXJsX1NjaGVtZV9SZXF1ZXN0KHJlcXVlc3RNYW5hZ2VyLCB0b0ltcGwo
dXJsKS0+c3RyaW5nKCkudXRmOCgpLmRhdGEoKSwgcmVxdWVzdElEKTsKLX0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a191cmxfc2NoZW1lX3JlcXVlc3Qu
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a191cmxfc2NoZW1lX3JlcXVl
c3QuaAppbmRleCA5NzI3NTkwLi45NGI1MDI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3NjaGVtZV9yZXF1ZXN0LmgKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3VybF9zY2hlbWVfcmVxdWVzdC5oCkBAIC0zOCw3
ICszOCw3IEBAIGV4dGVybiAiQyIgewogI2VuZGlmCiAKIC8qKiBDcmVhdGVzIGEgdHlwZSBuYW1l
IGZvciBfRXdrX1VybF9TY2hlbWVfUmVxdWVzdCAqLwotdHlwZWRlZiBzdHJ1Y3QgX0V3a19Vcmxf
U2NoZW1lX1JlcXVlc3QgRXdrX1VybF9TY2hlbWVfUmVxdWVzdDsKK3R5cGVkZWYgc3RydWN0IEV3
a19VcmxfU2NoZW1lX1JlcXVlc3QgRXdrX1VybF9TY2hlbWVfUmVxdWVzdDsKIAogLyoqCiAgKiBJ
bmNyZWFzZXMgdGhlIHJlZmVyZW5jZSBjb3VudCBvZiB0aGUgZ2l2ZW4gb2JqZWN0LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3VybF9zY2hlbWVfcmVx
dWVzdF9wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJs
X3NjaGVtZV9yZXF1ZXN0X3ByaXZhdGUuaAppbmRleCBlNWRkNDE3Li44Yzc4MTAyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3NjaGVtZV9yZXF1
ZXN0X3ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tf
dXJsX3NjaGVtZV9yZXF1ZXN0X3ByaXZhdGUuaApAQCAtMjYsMTMgKzI2LDQyIEBACiAjaWZuZGVm
IGV3a191cmxfc2NoZW1lX3JlcXVlc3RfcHJpdmF0ZV9oCiAjZGVmaW5lIGV3a191cmxfc2NoZW1l
X3JlcXVlc3RfcHJpdmF0ZV9oCiAKKyNpbmNsdWRlICJHT3duUHRyU291cC5oIgorI2luY2x1ZGUg
IldLQVBJQ2FzdC5oIgogI2luY2x1ZGUgIldLQmFzZS5oIgorI2luY2x1ZGUgIldLRWluYVNoYXJl
ZFN0cmluZy5oIgorI2luY2x1ZGUgIldLUmV0YWluUHRyLmgiCisjaW5jbHVkZSAiV0tTb3VwUmVx
dWVzdE1hbmFnZXIuaCIKIAotdHlwZWRlZiBzdHJ1Y3QgX0V3a19VcmxfU2NoZW1lX1JlcXVlc3Qg
RXdrX1VybF9TY2hlbWVfUmVxdWVzdDsKLXR5cGVkZWYgc3RydWN0IF9Fd2tfQ29udGV4dCBFd2tf
Q29udGV4dDsKKy8qKgorICogXHN0cnVjdCAgX0V3a19VcmxfU2NoZW1lX1JlcXVlc3QKKyAqIEBi
cmllZiAgIENvbnRhaW5zIHRoZSBVUkwgc2NoZW1lIHJlcXVlc3QgZGF0YS4KKyAqLworc3RydWN0
IEV3a19VcmxfU2NoZW1lX1JlcXVlc3QgOiBwdWJsaWMgUmVmQ291bnRlZDxFd2tfVXJsX1NjaGVt
ZV9SZXF1ZXN0PiB7CisgICAgV0tSZXRhaW5QdHI8V0tTb3VwUmVxdWVzdE1hbmFnZXJSZWY+IHdr
UmVxdWVzdE1hbmFnZXI7CisgICAgV0tFaW5hU2hhcmVkU3RyaW5nIHVybDsKKyAgICB1aW50NjRf
dCByZXF1ZXN0SUQ7CisgICAgV0tFaW5hU2hhcmVkU3RyaW5nIHNjaGVtZTsKKyAgICBXS0VpbmFT
aGFyZWRTdHJpbmcgcGF0aDsKKworICAgIHN0YXRpYyBQYXNzUmVmUHRyPEV3a19VcmxfU2NoZW1l
X1JlcXVlc3Q+IGNyZWF0ZShXS1NvdXBSZXF1ZXN0TWFuYWdlclJlZiBtYW5hZ2VyLCBXS1VSTFJl
ZiB1cmwsIHVpbnQ2NF90IHJlcXVlc3RJRCkKKyAgICB7CisgICAgICAgIGlmICghbWFuYWdlciB8
fCAhdXJsKQorICAgICAgICAgICAgcmV0dXJuIDA7CiAKLUV3a19VcmxfU2NoZW1lX1JlcXVlc3Qq
IGV3a191cmxfc2NoZW1lX3JlcXVlc3RfbmV3KFdLU291cFJlcXVlc3RNYW5hZ2VyUmVmLCBXS1VS
TFJlZiwgdWludDY0X3QgcmVxdWVzdElEKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBF
d2tfVXJsX1NjaGVtZV9SZXF1ZXN0KG1hbmFnZXIsIHVybCwgcmVxdWVzdElEKSk7CisgICAgfQog
Ci11aW50NjRfdCBld2tfdXJsX3NjaGVtZV9yZXF1ZXN0X2lkX2dldChjb25zdCBFd2tfVXJsX1Nj
aGVtZV9SZXF1ZXN0KiByZXF1ZXN0KTsKK3ByaXZhdGU6CisgICAgRXdrX1VybF9TY2hlbWVfUmVx
dWVzdChXS1NvdXBSZXF1ZXN0TWFuYWdlclJlZiBtYW5hZ2VyLCBXS1VSTFJlZiB1cmxSZWYsIHVp
bnQ2NF90IHJlcXVlc3RJRCkKKyAgICAgICAgOiB3a1JlcXVlc3RNYW5hZ2VyKG1hbmFnZXIpCisg
ICAgICAgICwgdXJsKHVybFJlZikKKyAgICAgICAgLCByZXF1ZXN0SUQocmVxdWVzdElEKQorICAg
IHsKKyAgICAgICAgR093blB0cjxTb3VwVVJJPiBzb3VwVVJJKHNvdXBfdXJpX25ldyh1cmwpKTsK
KyAgICAgICAgc2NoZW1lID0gc291cFVSSS0+c2NoZW1lOworICAgICAgICBwYXRoID0gc291cFVS
SS0+cGF0aDsgICAgICAgIAorICAgIH0KK307CiAKICNlbmRpZiAvLyBld2tfdXJsX3NjaGVtZV9y
ZXF1ZXN0X3ByaXZhdGVfaAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>