<?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>111772</bug_id>
          
          <creation_ts>2013-03-07 13:51:16 -0800</creation_ts>
          <short_desc>CFNetwork cache partitioning does not work properly on subdomains</short_desc>
          <delta_ts>2013-03-11 11:59:59 -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>Page Loading</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Vicki Pfau">jeffrey+webkit</reporter>
          <assigned_to name="Vicki Pfau">jeffrey+webkit</assigned_to>
          <cc>ddkilzer</cc>
    
    <cc>japhet</cc>
    
    <cc>mjs</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>850458</commentid>
    <comment_count>0</comment_count>
    <who name="Vicki Pfau">jeffrey+webkit</who>
    <bug_when>2013-03-07 13:51:16 -0800</bug_when>
    <thetext>Currently, the CFNetwork cache partition is initialized on NSURLRequests with the wrong partition name--it uses the full domain instead of just the top privately-controlled domain. This causes the partitions to get out of sync and/or just not work properly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850464</commentid>
    <comment_count>1</comment_count>
      <attachid>192082</attachid>
    <who name="Vicki Pfau">jeffrey+webkit</who>
    <bug_when>2013-03-07 13:55:28 -0800</bug_when>
    <thetext>Created attachment 192082
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850552</commentid>
    <comment_count>2</comment_count>
      <attachid>192082</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2013-03-07 15:41:09 -0800</bug_when>
    <thetext>Comment on attachment 192082
Patch

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

r=me

&gt; Source/WebCore/platform/network/mac/ResourceRequestMac.mm:193
&gt; +    String partition = cachePartition();
&gt; +    if (!partition.isNull() &amp;&amp; !partition.isEmpty())
&gt; +        [NSURLProtocol setProperty:[NSString stringWithUTF8String:partition.utf8().data()] forKey:(NSString *)wkCachePartitionKey() inRequest:nsRequest];

This would be easier to read if you pulled out the UTF-8 string conversion as a separate local variable:

        NSString *partitionValue = [NSString stringWithUTF8String:partition.utf8().data()];
        [NSURLProtocol setProperty:partitionValue forKey:(NSString *)wkCachePartitionKey() inRequest:nsRequest];</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850638</commentid>
    <comment_count>3</comment_count>
    <who name="Vicki Pfau">jeffrey+webkit</who>
    <bug_when>2013-03-07 16:54:02 -0800</bug_when>
    <thetext>&lt;rdar://problem/13374125&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850678</commentid>
    <comment_count>4</comment_count>
    <who name="Vicki Pfau">jeffrey+webkit</who>
    <bug_when>2013-03-07 17:13:49 -0800</bug_when>
    <thetext>Committed r145161: &lt;http://trac.webkit.org/changeset/145161&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>851978</commentid>
    <comment_count>5</comment_count>
      <attachid>192082</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-03-10 14:50:27 -0700</bug_when>
    <thetext>Comment on attachment 192082
Patch

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

&gt;&gt; Source/WebCore/platform/network/mac/ResourceRequestMac.mm:193
&gt;&gt; +        [NSURLProtocol setProperty:[NSString stringWithUTF8String:partition.utf8().data()] forKey:(NSString *)wkCachePartitionKey() inRequest:nsRequest];
&gt; 
&gt; This would be easier to read if you pulled out the UTF-8 string conversion as a separate local variable:
&gt; 
&gt;         NSString *partitionValue = [NSString stringWithUTF8String:partition.utf8().data()];
&gt;         [NSURLProtocol setProperty:partitionValue forKey:(NSString *)wkCachePartitionKey() inRequest:nsRequest];

Why is UTF-8 involved at all? Why not just cachedPartition().nsString()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852542</commentid>
    <comment_count>6</comment_count>
    <who name="Vicki Pfau">jeffrey+webkit</who>
    <bug_when>2013-03-11 11:59:59 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 192082 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=192082&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/platform/network/mac/ResourceRequestMac.mm:193
&gt; &gt;&gt; +        [NSURLProtocol setProperty:[NSString stringWithUTF8String:partition.utf8().data()] forKey:(NSString *)wkCachePartitionKey() inRequest:nsRequest];
&gt; &gt; 
&gt; &gt; This would be easier to read if you pulled out the UTF-8 string conversion as a separate local variable:
&gt; &gt; 
&gt; &gt;         NSString *partitionValue = [NSString stringWithUTF8String:partition.utf8().data()];
&gt; &gt;         [NSURLProtocol setProperty:partitionValue forKey:(NSString *)wkCachePartitionKey() inRequest:nsRequest];
&gt; 
&gt; Why is UTF-8 involved at all? Why not just cachedPartition().nsString()?

It&apos;s an unfortunate workaround for &lt;rdar://problem/13361941&gt;, which CFNetwork has said they&apos;re not going to fix.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192082</attachid>
            <date>2013-03-07 13:55:28 -0800</date>
            <delta_ts>2013-03-10 14:50:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111772-20130307135132.patch</filename>
            <type>text/plain</type>
            <size>11008</size>
            <attacher name="Vicki Pfau">jeffrey+webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0ODE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjhjNjI1NjU1ZDU2MWEx
MjhjYzRmYzIwOTk3YzEwZTBhNjViOTllNC4uOWIyZmViMzgyOTViMDZhYjY3MDk5NDZjMjYzNDIx
YzhiMjU4ZjYzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEzLTAzLTA3ICBKZWZm
cmV5IFBmYXUgIDxqcGZhdUBhcHBsZS5jb20+CisKKyAgICAgICAgQ0ZOZXR3b3JrIGNhY2hlIHBh
cnRpdGlvbmluZyBkb2VzIG5vdCB3b3JrIHByb3Blcmx5IG9uIHN1YmRvbWFpbnMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMTc3MgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuc3VyZSB0aGF0IHRoZSBj
YWNoZSBwYXJ0aXRpb25pbmcgaXMgZG9uZSBvdmVyIHRoZSB0b3AgcHJpdmF0ZWx5LWNvbnRyb2xs
ZWQgZG9tYWluIGZvciB0aGUgTlNVUkxSZXF1ZXN0LgorCisgICAgICAgIE5vdCBwb3NzaWJsZSB0
byB0ZXN0IHdpdGggY3VycmVudCBhdXRvbWF0ZWQgdGVzdCB0b29scywgbXVzdCBiZSB0ZXN0ZWQg
bWFudWFsbHkuCisKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwOiBSZW1v
dmUgZXh0cmFuZW91cyBjYWxscyB0byBwYXJ0aXRpb25OYW1lCisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeUNhY2hlOjphZGQpOgorICAgICAgICAoV2ViQ29yZTo6
TWVtb3J5Q2FjaGU6OnJldmFsaWRhdGlvblN1Y2NlZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpN
ZW1vcnlDYWNoZTo6cmVzb3VyY2VGb3JSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9y
eUNhY2hlOjpldmljdCk6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlDYWNoZTo6cmVtb3ZlUmVz
b3VyY2VzV2l0aE9yaWdpbik6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJj
ZVJlcXVlc3QuaDogUHV0IHRvcCBwcml2YXRlbHktY29udHJvbGxlZCBkb21haW4gcmVkdWN0aW9u
IGNvZGUgaW50byBSZXNvdXJjZVJlcXVlc3Q6OnBhcnRpdGlvbk5hbWUKKyAgICAgICAgKFJlc291
cmNlUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OmNhY2hlUGFy
dGl0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdDo6c2V0Q2FjaGVQYXJ0
aXRpb24pOiBQcmUtcHJvY2VzcyB0aGUgcGFydGl0aW9uIG5hbWUKKyAgICAgICAgKiBwbGF0Zm9y
bS9uZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVzdENGTmV0LmNwcDoKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0OjpwYXJ0aXRpb25OYW1lKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZVJlcXVlc3RNYWMubW06CisgICAg
ICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OmRvVXBkYXRlUGxhdGZvcm1SZXF1ZXN0KTog
VXNlIGEgVVRGLTggdmVyc2lvbiBvZiB0aGUgY2FjaGUgcGFydGl0aW9uIG5hbWUKKwogMjAxMy0w
My0wNSAgSmVmZnJleSBQZmF1ICA8anBmYXVAYXBwbGUuY29tPgogCiAgICAgICAgIENsZWFyIGFz
c29jaWF0ZWQgY2FjaGUgcGFydGl0aW9ucyB3aGVuIGRlbGV0aW5nIG9yaWdpbnMnIGNhY2hlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKaW5kZXggNDZkNzljYzUyMTc5NGQyMzk4MGExYTNiODVjMDc2MDI2MjZhYmVlZS4uOTgw
Y2M5MGZmYzI2NmNiZWY3N2UzODc2OTM5NGExODU1NmEyY2I5NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE1IEBACisyMDEzLTAzLTA3ICBKZWZmcmV5IFBmYXUgIDxqcGZhdUBhcHBsZS5jb20+CisK
KyAgICAgICAgQ0ZOZXR3b3JrIGNhY2hlIHBhcnRpdGlvbmluZyBkb2VzIG5vdCB3b3JrIHByb3Bl
cmx5IG9uIHN1YmRvbWFpbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTExMTc3MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEVuc3VyZSB0aGF0IHRoZSBDRlN0cmluZyBpcyBVVEYtOCBzbyB0aGF0IFdLQ0ZV
UkxDYWNoZUNvcHlBbGxIb3N0TmFtZXNJblBlcnNpc3RlbnRTdG9yZUZvclBhcnRpdGlvbiB3aWxs
IGFsd2F5cyB3b3JrLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9SZXNvdXJjZUNhY2hlL2NmL1dl
YlJlc291cmNlQ2FjaGVNYW5hZ2VyQ0ZOZXQuY3BwOgorICAgICAgICAoV2ViS2l0OjpwYXJ0aXRp
b25OYW1lKTogQ3JlYXRlIGEgVVRGLTggQ0ZTdHJpbmcgZXhwbGljaXRseQorCiAyMDEzLTAzLTA1
ICBKZWZmcmV5IFBmYXUgIDxqcGZhdUBhcHBsZS5jb20+CiAKICAgICAgICAgQ2xlYXIgYXNzb2Np
YXRlZCBjYWNoZSBwYXJ0aXRpb25zIHdoZW4gZGVsZXRpbmcgb3JpZ2lucycgY2FjaGUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwCmluZGV4IDUxZDU5ZGY1ZDlh
YTJlZGVlYzg1NTI0OTYyZWQzMWZiYjVjMjJjYzYuLjFjZmZhMTQ0YmNkNjRmYmM1MjVhMTdiM2Zm
MTk5MjNlMWE4MzlkYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9N
ZW1vcnlDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNh
Y2hlLmNwcApAQCAtNTcsMjIgKzU3LDYgQEAgc3RhdGljIGNvbnN0IGRvdWJsZSBjTWluRGVsYXlC
ZWZvcmVMaXZlRGVjb2RlZFBydW5lID0gMTsgLy8gU2Vjb25kcy4KIHN0YXRpYyBjb25zdCBmbG9h
dCBjVGFyZ2V0UHJ1bmVQZXJjZW50YWdlID0gLjk1ZjsgLy8gUGVyY2VudGFnZSBvZiBjYXBhY2l0
eSB0b3dhcmQgd2hpY2ggd2UgcHJ1bmUsIHRvIGF2b2lkIGltbWVkaWF0ZWx5IHBydW5pbmcgYWdh
aW4uCiBzdGF0aWMgY29uc3QgZG91YmxlIGNEZWZhdWx0RGVjb2RlZERhdGFEZWxldGlvbkludGVy
dmFsID0gMDsKIAotI2lmIEVOQUJMRShDQUNIRV9QQVJUSVRJT05JTkcpCi1zdGF0aWMgU3RyaW5n
IHBhcnRpdGlvbk5hbWUoU3RyaW5nIGRvbWFpbikKLXsKLSAgICBpZiAoZG9tYWluLmlzTnVsbCgp
KQotICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLSNpZiBFTkFCTEUoUFVCTElDX1NVRkZJ
WF9MSVNUKQotICAgIFN0cmluZyBoaWdoTGV2ZWwgPSB0b3BQcml2YXRlbHlDb250cm9sbGVkRG9t
YWluKGRvbWFpbik7Ci0gICAgaWYgKGhpZ2hMZXZlbC5pc051bGwoKSkKLSAgICAgICAgcmV0dXJu
IGVtcHR5U3RyaW5nKCk7Ci0gICAgcmV0dXJuIGhpZ2hMZXZlbDsKLSNlbHNlCi0gICAgcmV0dXJu
IGRvbWFpbjsKLSNlbmRpZgotfQotI2VuZGlmCi0KIE1lbW9yeUNhY2hlKiBtZW1vcnlDYWNoZSgp
CiB7CiAgICAgc3RhdGljIE1lbW9yeUNhY2hlKiBzdGF0aWNDYWNoZSA9IG5ldyBNZW1vcnlDYWNo
ZTsKQEAgLTEyMSw3ICsxMDUsNyBAQCBib29sIE1lbW9yeUNhY2hlOjphZGQoQ2FjaGVkUmVzb3Vy
Y2UqIHJlc291cmNlKQogICAgICAgICBvcmlnaW5NYXAgPSBuZXcgQ2FjaGVkUmVzb3VyY2VJdGVt
OwogICAgICAgICBtX3Jlc291cmNlcy5zZXQocmVzb3VyY2UtPnVybCgpLCBhZG9wdFB0cihvcmln
aW5NYXApKTsKICAgICB9Ci0gICAgb3JpZ2luTWFwLT5zZXQocGFydGl0aW9uTmFtZShyZXNvdXJj
ZS0+Y2FjaGVQYXJ0aXRpb24oKSksIHJlc291cmNlKTsKKyAgICBvcmlnaW5NYXAtPnNldChyZXNv
dXJjZS0+Y2FjaGVQYXJ0aXRpb24oKSwgcmVzb3VyY2UpOwogI2Vsc2UKICAgICBtX3Jlc291cmNl
cy5zZXQocmVzb3VyY2UtPnVybCgpLCByZXNvdXJjZSk7CiAjZW5kaWYKQEAgLTE0OSwxMyArMTMz
LDEzIEBAIHZvaWQgTWVtb3J5Q2FjaGU6OnJldmFsaWRhdGlvblN1Y2NlZWRlZChDYWNoZWRSZXNv
dXJjZSogcmV2YWxpZGF0aW5nUmVzb3VyY2UsIGNvCiAgICAgZXZpY3QocmV2YWxpZGF0aW5nUmVz
b3VyY2UpOwogCiAjaWYgRU5BQkxFKENBQ0hFX1BBUlRJVElPTklORykKLSAgICBBU1NFUlQoIW1f
cmVzb3VyY2VzLmdldChyZXNvdXJjZS0+dXJsKCkpIHx8ICFtX3Jlc291cmNlcy5nZXQocmVzb3Vy
Y2UtPnVybCgpKS0+Z2V0KHBhcnRpdGlvbk5hbWUocmVzb3VyY2UtPmNhY2hlUGFydGl0aW9uKCkp
KSk7CisgICAgQVNTRVJUKCFtX3Jlc291cmNlcy5nZXQocmVzb3VyY2UtPnVybCgpKSB8fCAhbV9y
ZXNvdXJjZXMuZ2V0KHJlc291cmNlLT51cmwoKSktPmdldChyZXNvdXJjZS0+Y2FjaGVQYXJ0aXRp
b24oKSkpOwogICAgIENhY2hlZFJlc291cmNlSXRlbSogb3JpZ2luTWFwID0gbV9yZXNvdXJjZXMu
Z2V0KHJlc291cmNlLT51cmwoKSk7CiAgICAgaWYgKCFvcmlnaW5NYXApIHsKICAgICAgICAgb3Jp
Z2luTWFwID0gbmV3IENhY2hlZFJlc291cmNlSXRlbTsKICAgICAgICAgbV9yZXNvdXJjZXMuc2V0
KHJlc291cmNlLT51cmwoKSwgYWRvcHRQdHIob3JpZ2luTWFwKSk7CiAgICAgfQotICAgIG9yaWdp
bk1hcC0+c2V0KHBhcnRpdGlvbk5hbWUocmVzb3VyY2UtPmNhY2hlUGFydGl0aW9uKCkpLCByZXNv
dXJjZSk7CisgICAgb3JpZ2luTWFwLT5zZXQocmVzb3VyY2UtPmNhY2hlUGFydGl0aW9uKCksIHJl
c291cmNlKTsKICNlbHNlCiAgICAgQVNTRVJUKCFtX3Jlc291cmNlcy5nZXQocmVzb3VyY2UtPnVy
bCgpKSk7CiAgICAgbV9yZXNvdXJjZXMuc2V0KHJlc291cmNlLT51cmwoKSwgcmVzb3VyY2UpOwpA
QCAtMTk2LDcgKzE4MCw3IEBAIENhY2hlZFJlc291cmNlKiBNZW1vcnlDYWNoZTo6cmVzb3VyY2VG
b3JSZXF1ZXN0KGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKICAgICBDYWNoZWRSZXNv
dXJjZUl0ZW0qIGl0ZW0gPSBtX3Jlc291cmNlcy5nZXQodXJsKTsKICAgICBDYWNoZWRSZXNvdXJj
ZSogcmVzb3VyY2UgPSAwOwogICAgIGlmIChpdGVtKQotICAgICAgICByZXNvdXJjZSA9IGl0ZW0t
PmdldChwYXJ0aXRpb25OYW1lKHJlcXVlc3QuY2FjaGVQYXJ0aXRpb24oKSkpOworICAgICAgICBy
ZXNvdXJjZSA9IGl0ZW0tPmdldChyZXF1ZXN0LmNhY2hlUGFydGl0aW9uKCkpOwogI2Vsc2UKICAg
ICBDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UgPSBtX3Jlc291cmNlcy5nZXQodXJsKTsKICNlbmRp
ZgpAQCAtNDQxLDcgKzQyNSw3IEBAIHZvaWQgTWVtb3J5Q2FjaGU6OmV2aWN0KENhY2hlZFJlc291
cmNlKiByZXNvdXJjZSkKICNpZiBFTkFCTEUoQ0FDSEVfUEFSVElUSU9OSU5HKQogICAgICAgICBD
YWNoZWRSZXNvdXJjZUl0ZW0qIGl0ZW0gPSBtX3Jlc291cmNlcy5nZXQocmVzb3VyY2UtPnVybCgp
KTsKICAgICAgICAgaWYgKGl0ZW0pIHsKLSAgICAgICAgICAgIGl0ZW0tPnJlbW92ZShwYXJ0aXRp
b25OYW1lKHJlc291cmNlLT5jYWNoZVBhcnRpdGlvbigpKSk7CisgICAgICAgICAgICBpdGVtLT5y
ZW1vdmUocmVzb3VyY2UtPmNhY2hlUGFydGl0aW9uKCkpOwogICAgICAgICAgICAgaWYgKCFpdGVt
LT5zaXplKCkpCiAgICAgICAgICAgICAgICAgbV9yZXNvdXJjZXMucmVtb3ZlKHJlc291cmNlLT51
cmwoKSk7CiAgICAgICAgIH0KQEAgLTQ2MSw3ICs0NDUsNyBAQCB2b2lkIE1lbW9yeUNhY2hlOjpl
dmljdChDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCiAgICAgICAgICAgICBhZGp1c3RTaXplKHJl
c291cmNlLT5oYXNDbGllbnRzKCksIC1zdGF0aWNfY2FzdDxpbnQ+KHJlc291cmNlLT5zaXplKCkp
KTsKICAgICB9IGVsc2UKICNpZiBFTkFCTEUoQ0FDSEVfUEFSVElUSU9OSU5HKQotICAgICAgICBB
U1NFUlQoIW1fcmVzb3VyY2VzLmdldChyZXNvdXJjZS0+dXJsKCkpIHx8IG1fcmVzb3VyY2VzLmdl
dChyZXNvdXJjZS0+dXJsKCkpLT5nZXQocGFydGl0aW9uTmFtZShyZXNvdXJjZS0+Y2FjaGVQYXJ0
aXRpb24oKSkpICE9IHJlc291cmNlKTsKKyAgICAgICAgQVNTRVJUKCFtX3Jlc291cmNlcy5nZXQo
cmVzb3VyY2UtPnVybCgpKSB8fCBtX3Jlc291cmNlcy5nZXQocmVzb3VyY2UtPnVybCgpKS0+Z2V0
KHJlc291cmNlLT5jYWNoZVBhcnRpdGlvbigpKSAhPSByZXNvdXJjZSk7CiAjZWxzZQogICAgICAg
ICBBU1NFUlQobV9yZXNvdXJjZXMuZ2V0KHJlc291cmNlLT51cmwoKSkgIT0gcmVzb3VyY2UpOwog
I2VuZGlmCkBAIC01ODUsNyArNTY5LDcgQEAgdm9pZCBNZW1vcnlDYWNoZTo6cmVtb3ZlUmVzb3Vy
Y2VzV2l0aE9yaWdpbihTZWN1cml0eU9yaWdpbiogb3JpZ2luKQogCiAgICAgQ2FjaGVkUmVzb3Vy
Y2VNYXA6Oml0ZXJhdG9yIGUgPSBtX3Jlc291cmNlcy5lbmQoKTsKICNpZiBFTkFCTEUoQ0FDSEVf
UEFSVElUSU9OSU5HKQotICAgIFN0cmluZyBvcmlnaW5QYXJ0aXRpb24gPSBwYXJ0aXRpb25OYW1l
KG9yaWdpbi0+aG9zdCgpKTsKKyAgICBTdHJpbmcgb3JpZ2luUGFydGl0aW9uID0gUmVzb3VyY2VS
ZXF1ZXN0OjpwYXJ0aXRpb25OYW1lKG9yaWdpbi0+aG9zdCgpKTsKICNlbmRpZgogCiAgICAgZm9y
IChDYWNoZWRSZXNvdXJjZU1hcDo6aXRlcmF0b3IgaXQgPSBtX3Jlc291cmNlcy5iZWdpbigpOyBp
dCAhPSBlOyArK2l0KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2NmL1Jlc291cmNlUmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jZi9SZXNvdXJjZVJlcXVlc3QuaAppbmRleCA2MjExY2M2YmRmNjgwZTEwYTU0ZWYwMmE0NGI0
ZWY4ZjU3MDExOTRhLi4zNGVkMmYyYzQ1N2E1NWI1OTBlMDU5MDY2MTBlMDZhNTdhY2Q2ZTczIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVx
dWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VS
ZXF1ZXN0LmgKQEAgLTk3LDggKzk3LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2VuZGlmCiAK
ICNpZiBFTkFCTEUoQ0FDSEVfUEFSVElUSU9OSU5HKQotICAgICAgICBjb25zdCBTdHJpbmcmIGNh
Y2hlUGFydGl0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jYWNoZVBhcnRpdGlvbjsgfQotICAgICAg
ICB2b2lkIHNldENhY2hlUGFydGl0aW9uKGNvbnN0IFN0cmluZyYgY2FjaGVQYXJ0aXRpb24pIHsg
bV9jYWNoZVBhcnRpdGlvbiA9IGNhY2hlUGFydGl0aW9uOyB9CisgICAgICAgIHN0YXRpYyBTdHJp
bmcgcGFydGl0aW9uTmFtZShjb25zdCBTdHJpbmcmIGRvbWFpbik7CisgICAgICAgIGNvbnN0IFN0
cmluZyYgY2FjaGVQYXJ0aXRpb24oKSBjb25zdCB7IHJldHVybiBtX2NhY2hlUGFydGl0aW9uLmlz
TnVsbCgpID8gZW1wdHlTdHJpbmcoKSA6IG1fY2FjaGVQYXJ0aXRpb247IH0KKyAgICAgICAgdm9p
ZCBzZXRDYWNoZVBhcnRpdGlvbihjb25zdCBTdHJpbmcmIGNhY2hlUGFydGl0aW9uKSB7IG1fY2Fj
aGVQYXJ0aXRpb24gPSBwYXJ0aXRpb25OYW1lKGNhY2hlUGFydGl0aW9uKTsgfQogI2VuZGlmCiAK
ICNpZiBQTEFURk9STShNQUMpIHx8IFVTRShDRk5FVFdPUkspCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVzdENGTmV0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0Q0ZOZXQuY3Bw
CmluZGV4IGFjMDgxYzc2NmU5NjI3NjQ1ZDliYTA4OGFhZDQ5MzRjYzQ5YmI3NDEuLmU1NzhhZjAw
ZWY4ZWY3ODIyNGQxOWFhMTUxYTVlNDM5ZGI5NzI0OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0Q0ZOZXQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0Q0ZOZXQuY3Bw
CkBAIC0yOSw2ICsyOSwxMCBAQAogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVk
ZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCiAKKyNpZiBFTkFCTEUoUFVCTElDX1NVRkZJWF9MSVNUKQor
I2luY2x1ZGUgIlB1YmxpY1N1ZmZpeC5oIgorI2VuZGlmCisKICNpZiBVU0UoQ0ZORVRXT1JLKQog
I2luY2x1ZGUgIkZvcm1EYXRhU3RyZWFtQ0ZOZXQuaCIKICNpbmNsdWRlIDxDRk5ldHdvcmsvQ0ZV
UkxSZXF1ZXN0UHJpdi5oPgpAQCAtMzA1LDYgKzMwOSwyMiBAQCB2b2lkIFJlc291cmNlUmVxdWVz
dDo6c2V0SFRUUFBpcGVsaW5pbmdFbmFibGVkKGJvb2wgZmxhZykKICAgICBzX2h0dHBQaXBlbGlu
aW5nRW5hYmxlZCA9IGZsYWc7CiB9CiAKKyNpZiBFTkFCTEUoQ0FDSEVfUEFSVElUSU9OSU5HKQor
U3RyaW5nIFJlc291cmNlUmVxdWVzdDo6cGFydGl0aW9uTmFtZShjb25zdCBTdHJpbmcmIGRvbWFp
bikKK3sKKyAgICBpZiAoZG9tYWluLmlzTnVsbCgpKQorICAgICAgICByZXR1cm4gZW1wdHlTdHJp
bmcoKTsKKyNpZiBFTkFCTEUoUFVCTElDX1NVRkZJWF9MSVNUKQorICAgIFN0cmluZyBoaWdoTGV2
ZWwgPSB0b3BQcml2YXRlbHlDb250cm9sbGVkRG9tYWluKGRvbWFpbik7CisgICAgaWYgKGhpZ2hM
ZXZlbC5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CisgICAgcmV0dXJu
IGhpZ2hMZXZlbDsKKyNlbHNlCisgICAgcmV0dXJuIGRvbWFpbjsKKyNlbmRpZgorfQorI2VuZGlm
CisKIFBhc3NPd25QdHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhPiBSZXNvdXJjZVJl
cXVlc3Q6OmRvUGxhdGZvcm1Db3B5RGF0YShQYXNzT3duUHRyPENyb3NzVGhyZWFkUmVzb3VyY2VS
ZXF1ZXN0RGF0YT4gZGF0YSkgY29uc3QKIHsKICNpZiBFTkFCTEUoQ0FDSEVfUEFSVElUSU9OSU5H
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3Vy
Y2VSZXF1ZXN0TWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVz
b3VyY2VSZXF1ZXN0TWFjLm1tCmluZGV4IDcwYWMxNjY2OWIzYWM2ODY3NGQ1MmEyMTUzZjVmMjAx
M2RmYjI4MGEuLjdmOTk4Yjg3N2RmNTdjZDM4M2ZmODc0YWQ3NDEwYmFmZmE3OWE5NmQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVxdWVz
dE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJj
ZVJlcXVlc3RNYWMubW0KQEAgLTMwLDYgKzMwLDcgQEAKICNpbXBvcnQgIlJlc291cmNlUmVxdWVz
dENGTmV0LmgiCiAjaW1wb3J0ICJSdW50aW1lQXBwbGljYXRpb25DaGVja3MuaCIKICNpbXBvcnQg
IldlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaCIKKyNpbXBvcnQgPHd0Zi90ZXh0L0NTdHJpbmcuaD4K
IAogI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CiAKQEAgLTE4Nyw3ICsxODgsOSBA
QCB2b2lkIFJlc291cmNlUmVxdWVzdDo6ZG9VcGRhdGVQbGF0Zm9ybVJlcXVlc3QoKQogICAgIH0K
IAogI2lmIEVOQUJMRShDQUNIRV9QQVJUSVRJT05JTkcpCi0gICAgW05TVVJMUHJvdG9jb2wgc2V0
UHJvcGVydHk6bV9jYWNoZVBhcnRpdGlvbiBmb3JLZXk6KE5TU3RyaW5nICopd2tDYWNoZVBhcnRp
dGlvbktleSgpIGluUmVxdWVzdDpuc1JlcXVlc3RdOworICAgIFN0cmluZyBwYXJ0aXRpb24gPSBj
YWNoZVBhcnRpdGlvbigpOworICAgIGlmICghcGFydGl0aW9uLmlzTnVsbCgpICYmICFwYXJ0aXRp
b24uaXNFbXB0eSgpKQorICAgICAgICBbTlNVUkxQcm90b2NvbCBzZXRQcm9wZXJ0eTpbTlNTdHJp
bmcgc3RyaW5nV2l0aFVURjhTdHJpbmc6cGFydGl0aW9uLnV0ZjgoKS5kYXRhKCldIGZvcktleToo
TlNTdHJpbmcgKil3a0NhY2hlUGFydGl0aW9uS2V5KCkgaW5SZXF1ZXN0Om5zUmVxdWVzdF07CiAj
ZW5kaWYKIAogICAgIG1fbnNSZXF1ZXN0LmFkb3B0TlMobnNSZXF1ZXN0KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUmVzb3VyY2VDYWNoZS9jZi9XZWJSZXNvdXJjZUNh
Y2hlTWFuYWdlckNGTmV0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUmVzb3VyY2VD
YWNoZS9jZi9XZWJSZXNvdXJjZUNhY2hlTWFuYWdlckNGTmV0LmNwcAppbmRleCBhY2VkNjcxYWY3
NTYzNzY2YmY1ZmMxNzQ4NmY3YjlkYjUxZGM1ZTBhLi4xNGQxMjk4Y2I4YzExNTM1YWM2MDNiZGQ1
MmQ0Mzc4OGFlYjk2ODcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Jl
c291cmNlQ2FjaGUvY2YvV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJDRk5ldC5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9SZXNvdXJjZUNhY2hlL2NmL1dlYlJlc291cmNlQ2FjaGVN
YW5hZ2VyQ0ZOZXQuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAKICNpZiBFTkFCTEUoQ0FDSEVfUEFS
VElUSU9OSU5HKQogI2luY2x1ZGUgPFdlYkNvcmUvUHVibGljU3VmZml4Lmg+CisjaW5jbHVkZSA8
d3RmL3RleHQvQ1N0cmluZy5oPgogI2VuZGlmCiAKICNpZiBQTEFURk9STShNQUMpCkBAIC00Niw3
ICs0Nyw4IEBAIHN0YXRpYyBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IHBhcnRpdGlvbk5hbWUoQ0ZT
dHJpbmdSZWYgZG9tYWluKQogICAgIFN0cmluZyBoaWdoTGV2ZWwgPSBXZWJDb3JlOjp0b3BQcml2
YXRlbHlDb250cm9sbGVkRG9tYWluKGRvbWFpbik7CiAgICAgaWYgKGhpZ2hMZXZlbC5pc051bGwo
KSkKICAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIGhpZ2hMZXZlbC5jcmVhdGVDRlN0cmlu
ZygpOworICAgIENTdHJpbmcgdXRmOFN0cmluZyA9IGhpZ2hMZXZlbC51dGY4KCk7CisgICAgcmV0
dXJuIGFkb3B0Q0YoQ0ZTdHJpbmdDcmVhdGVXaXRoQnl0ZXMoMCwgcmVpbnRlcnByZXRfY2FzdDxj
b25zdCBVSW50OCo+KHV0ZjhTdHJpbmcuZGF0YSgpKSwgdXRmOFN0cmluZy5sZW5ndGgoKSwga0NG
U3RyaW5nRW5jb2RpbmdVVEY4LCBmYWxzZSkpOwogI2Vsc2UKICAgICByZXR1cm4gZG9tYWluOwog
I2VuZGlmCg==
</data>
<flag name="review"
          id="213206"
          type_id="1"
          status="+"
          setter="ddkilzer"
    />
          </attachment>
      

    </bug>

</bugzilla>