<?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>130494</bug_id>
          
          <creation_ts>2014-03-19 19:54:04 -0700</creation_ts>
          <short_desc>EmptyUnique strings are Identifiers/Atomic</short_desc>
          <delta_ts>2014-03-19 23:22:21 -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>Web Template Framework</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="Gavin Barraclough">barraclough</reporter>
          <assigned_to name="Gavin Barraclough">barraclough</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>992369</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2014-03-19 19:54:04 -0700</bug_when>
    <thetext>EmptyUnique strings should set the Identifier/Atomic flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>992371</commentid>
    <comment_count>1</comment_count>
      <attachid>227249</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2014-03-19 20:11:44 -0700</bug_when>
    <thetext>Created attachment 227249
Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>992377</commentid>
    <comment_count>2</comment_count>
      <attachid>227249</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-03-19 20:33:27 -0700</bug_when>
    <thetext>Comment on attachment 227249
Fix

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

r=me

&gt; Source/JavaScriptCore/ChangeLog:10
&gt; +        This fixes a unreproducible bug we believe exists in Identifier handling.

&quot;an&quot;

&gt; Source/JavaScriptCore/ChangeLog:13
&gt; +        through the main Identifier constructor, the Identifier flags is not set

&quot;flag&quot;

&gt; Source/JavaScriptCore/ChangeLog:20
&gt; +        by-id (cachable) accesses to PrivateNames the we can end up passing an

s/the we/we/

&gt; Source/WTF/wtf/text/StringStatics.cpp:63
&gt; +    } while (!(s_nextHashAndFlagsForEmptyUnique &gt;&gt; s_flagCount));

You could do away with this loop by just OR&apos;ing a 1 into the top bit. Top bits never get used, anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>992401</commentid>
    <comment_count>3</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2014-03-19 23:22:21 -0700</bug_when>
    <thetext>Transmitting file data ........
Committed revision 165946.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227249</attachid>
            <date>2014-03-19 20:11:44 -0700</date>
            <delta_ts>2014-03-19 20:33:27 -0700</delta_ts>
            <desc>Fix</desc>
            <filename>130494.1.patch</filename>
            <type>text/plain</type>
            <size>9957</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTY1OTQxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBA
CisyMDE0LTAzLTE5ICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4K
KworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwNDk0
CisgICAgICAgIEVtcHR5VW5pcXVlIHN0cmluZ3MgYXJlIElkZW50aWZpZXJzL0F0b21pYworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVtcHR5VW5pcXVl
IHN0cmluZ3Mgc2hvdWxkIHNldCB0aGUgSWRlbnRpZmllci9BdG9taWMgZmxhZy4KKworICAgICAg
ICBUaGlzIGZpeGVzIGEgdW5yZXByb2R1Y2libGUgYnVnIHdlIGJlbGlldmUgZXhpc3RzIGluIElk
ZW50aWZpZXIgaGFuZGxpbmcuCisgICAgICAgIEV4cGVjdGVkIGJlaGF2aW91ciBpcyB0aGF0IHdo
aWxlIElkZW50aWZpZXJzIG1heSByZWZlcmVuY2UgRW1wdHlVbmlxdWVzCisgICAgICAgIChTdHJp
bmdJbXBscyBhbGxvY2F0ZWQgYXMgVUlEcyBmb3IgUHJpdmF0ZU5hbWVzKSwgdGhlc2UgYXJlIG5v
dCBjcmVhdGVkCisgICAgICAgIHRocm91Z2ggdGhlIG1haW4gSWRlbnRpZmllciBjb25zdHJ1Y3Rv
ciwgdGhlIElkZW50aWZpZXIgZmxhZ3MgaXMgbm90IHNldAorICAgICAgICBvbiBQcml2YXRlTmFt
ZXMsIGFuZCB3ZSBzaG91bGQgbmV2ZXIgbG9va3VwIEVtcHR5VW5pcXVlIHN0cmluZ3MgaW4gdGhl
CisgICAgICAgIElkZW50aWZpZXJUYWJsZS4KKworICAgICAgICBVbmZvcnR1bmF0ZWx5IHRoYXQg
d2FzIGhhcHBlbmluZy4gU29tZSB0YWJsZXMgdXNlZCB0byBpbXBsZW1lbnQgcHJvcGVydHkKKyAg
ICAgICAgYWNjZXNzIGluIHRoZSBKSVQgaG9sZCBTdHJpbmdJbXBsKnMsIGFuZCB0dXJuIHRoZXNl
IGJhY2sgaW50byBJZGVudGlmaWVycworICAgICAgICB1c2luZyB0aGUgaWRlbnRmaWllciBjb25z
dHJ1Y3Rvci4gU2luY2UgdGhlIGNvZGUgZ2VuZXJhdG9yIHdpbGwgbm93IHBsYW50CisgICAgICAg
IGJ5LWlkIChjYWNoYWJsZSkgYWNjZXNzZXMgdG8gUHJpdmF0ZU5hbWVzIHRoZSB3ZSBjYW4gZW5k
IHVwIHBhc3NpbmcgYW4KKyAgICAgICAgRW1wdHlVbmlxdWUgdG8gSWRlbnRpZmllcjo6YWRkLCBw
b3RlbnRpYWxseSBsZWFkaW5nIHRvIFByaXZhdGVOYW1lcyBiZWluZworICAgICAgICB1bmlxdWVk
IHRvZ2V0aGVyICh0aG91Z2ggaGFyZCB0byBwcm92ZSwgc2luY2UgdGhlIGhhc2ggY29kZXMgYXJl
IHJhbmRvbSkuCisKKyAgICAgICAgKiBydW50aW1lL1Byb3BlcnR5TmFtZS5oOgorICAgICAgICAo
SlNDOjpQcm9wZXJ0eU5hbWU6OlByb3BlcnR5TmFtZSk6CisgICAgICAgIChKU0M6OlByb3BlcnR5
TmFtZTo6dWlkKToKKyAgICAgICAgKEpTQzo6UHJvcGVydHlOYW1lOjpwdWJsaWNOYW1lKToKKyAg
ICAgICAgKEpTQzo6UHJvcGVydHlOYW1lOjphc0luZGV4KToKKyAgICAgICAgICAgIC0gUHJvcGVy
dHlOYW1lIGFzc3VtZWQgdGhhdCBQcml2YXRlTmFtZXMgYXJlIG5vdCBJZGVudGlmaWVycyAtIGlu
c3RlYWQgY2hlY2sgaXNFbXB0eVVuaXF1ZSgpLgorICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJl
LmNwcDoKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjpnZXRQcm9wZXJ0eU5hbWVzRnJvbVN0cnVj
dHVyZSk6CisgICAgICAgICAgICAtIFN0cnVjdHVyZSBhc3N1bWVkIHRoYXQgUHJpdmF0ZU5hbWVz
IGFyZSBub3QgSWRlbnRpZmllcnMgLSBpbnN0ZWFkIGNoZWNrIGlzRW1wdHlVbmlxdWUoKS4KKwog
MjAxNC0wMy0xOSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQsIHJldmVydCB0aGUgREZHQ29tbW9uLmggY2hhbmdlIGluIHIxNjU5MzguIEl0IHdh
cyBub3QgaW50ZW50aW9uYWwuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Q
cm9wZXJ0eU5hbWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9Qcm9wZXJ0eU5hbWUuaAkocmV2aXNpb24gMTY1OTA2KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUHJvcGVydHlOYW1lLmgJKHdvcmtpbmcgY29weSkKQEAgLTgxLDcgKzgxLDcg
QEAgcHVibGljOgogICAgIFByb3BlcnR5TmFtZShjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5h
bWUpCiAgICAgICAgIDogbV9pbXBsKHByb3BlcnR5TmFtZS5pbXBsKCkpCiAgICAgewotICAgICAg
ICBBU1NFUlQoIW1faW1wbCB8fCBtX2ltcGwtPmlzSWRlbnRpZmllcigpIHx8IG1faW1wbC0+aXNF
bXB0eVVuaXF1ZSgpKTsKKyAgICAgICAgQVNTRVJUKCFtX2ltcGwgfHwgbV9pbXBsLT5pc0lkZW50
aWZpZXIoKSk7CiAgICAgfQogCiAgICAgUHJvcGVydHlOYW1lKGNvbnN0IFByaXZhdGVOYW1lJiBw
cm9wZXJ0eU5hbWUpCkBAIC05MiwyMSArOTIsMTggQEAgcHVibGljOgogCiAgICAgU3RyaW5nSW1w
bCogdWlkKCkgY29uc3QKICAgICB7Ci0gICAgICAgIEFTU0VSVCghbV9pbXBsIHx8IChtX2ltcGwt
PmlzSWRlbnRpZmllcigpID09ICFtX2ltcGwtPmlzRW1wdHlVbmlxdWUoKSkpOwogICAgICAgICBy
ZXR1cm4gbV9pbXBsOwogICAgIH0KIAogICAgIFN0cmluZ0ltcGwqIHB1YmxpY05hbWUoKSBjb25z
dAogICAgIHsKLSAgICAgICAgQVNTRVJUKCFtX2ltcGwgfHwgKG1faW1wbC0+aXNJZGVudGlmaWVy
KCkgPT0gIW1faW1wbC0+aXNFbXB0eVVuaXF1ZSgpKSk7Ci0gICAgICAgIHJldHVybiBtX2ltcGwt
PmlzSWRlbnRpZmllcigpID8gbV9pbXBsIDogMDsKKyAgICAgICAgcmV0dXJuIG1faW1wbC0+aXNF
bXB0eVVuaXF1ZSgpID8gMCA6IG1faW1wbDsKICAgICB9CiAKICAgICBzdGF0aWMgY29uc3QgdWlu
dDMyX3QgTm90QW5JbmRleCA9IFVJTlRfTUFYOwogCiAgICAgdWludDMyX3QgYXNJbmRleCgpCiAg
ICAgewotICAgICAgICBBU1NFUlQoIW1faW1wbCB8fCAobV9pbXBsLT5pc0lkZW50aWZpZXIoKSA9
PSAhbV9pbXBsLT5pc0VtcHR5VW5pcXVlKCkpKTsKICAgICAgICAgcmV0dXJuIG1faW1wbCA/IHRv
VUludDMyRnJvbVN0cmluZ0ltcGwobV9pbXBsKSA6IE5vdEFuSW5kZXg7CiAgICAgfQogCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJKHJldmlzaW9u
IDE2NTkwNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTk4OCw3ICs5ODgsNyBAQCB2b2lkIFN0cnVjdHVyZTo6Z2V0UHJv
cGVydHlOYW1lc0Zyb21TdHJ1CiAgICAgUHJvcGVydHlUYWJsZTo6aXRlcmF0b3IgZW5kID0gcHJv
cGVydHlUYWJsZSgpLT5lbmQoKTsKICAgICBmb3IgKFByb3BlcnR5VGFibGU6Oml0ZXJhdG9yIGl0
ZXIgPSBwcm9wZXJ0eVRhYmxlKCktPmJlZ2luKCk7IGl0ZXIgIT0gZW5kOyArK2l0ZXIpIHsKICAg
ICAgICAgQVNTRVJUKG1faGFzTm9uRW51bWVyYWJsZVByb3BlcnRpZXMgfHwgIShpdGVyLT5hdHRy
aWJ1dGVzICYgRG9udEVudW0pKTsKLSAgICAgICAgaWYgKGl0ZXItPmtleS0+aXNJZGVudGlmaWVy
KCkgJiYgKCEoaXRlci0+YXR0cmlidXRlcyAmIERvbnRFbnVtKSB8fCBtb2RlID09IEluY2x1ZGVE
b250RW51bVByb3BlcnRpZXMpKSB7CisgICAgICAgIGlmICghaXRlci0+a2V5LT5pc0VtcHR5VW5p
cXVlKCkgJiYgKCEoaXRlci0+YXR0cmlidXRlcyAmIERvbnRFbnVtKSB8fCBtb2RlID09IEluY2x1
ZGVEb250RW51bVByb3BlcnRpZXMpKSB7CiAgICAgICAgICAgICBpZiAoa25vd25VbmlxdWUpCiAg
ICAgICAgICAgICAgICAgcHJvcGVydHlOYW1lcy5hZGRLbm93blVuaXF1ZShpdGVyLT5rZXkpOwog
ICAgICAgICAgICAgZWxzZQpJbmRleDogU291cmNlL1dURi9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dURi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NTk0MSkKKysrIFNvdXJjZS9XVEYv
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjggQEAKKzIwMTQtMDMtMTkgIEdh
dmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgorCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzA0OTQKKyAgICAgICAgRW1wdHlV
bmlxdWUgc3RyaW5ncyBhcmUgSWRlbnRpZmllcnMvQXRvbWljCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW1wdHlVbmlxdWUgc3RyaW5ncyBzaG91bGQg
c2V0IHRoZSBJZGVudGlmaWVyL0F0b21pYyBmbGFnLgorCisgICAgICAgICogd3RmL3RleHQvQXRv
bWljU3RyaW5nLmg6CisgICAgICAgIChXVEY6OkF0b21pY1N0cmluZzo6YWRkKToKKyAgICAgICAg
ICAgIC0gUHJldmlvdXNseSB3ZSBhc3N1bWVkIHRoZSBvbmx5IFN0cmluZ0ltcGwgdGhhdCB3YXMg
dmFsaWRseSBhbGxvd2VkIHRvIGNsYWltIHRvIGJlCisgICAgICAgICAgICAgIEF0b21pYyBidXQg
bm90IGJlIGluIGEgdGFibGUgd2FzIHRoZSBjYW5vbmljYWwgZW1wdHkgc3RyaW5nLiBOb3cgdGhh
dCBFbXB0eVVuaXF1ZXMKKyAgICAgICAgICAgICAgYXJlIGFsc28gbWFya2VkIEF0b21pYywgYWxs
IGVtcHR5IHN0cmluZ3MgbWF5IHBhc3MgdGhpcyBjb25kaXRpb24uCisgICAgICAgICogd3RmL3Rl
eHQvU3RyaW5nSW1wbC5jcHA6CisgICAgICAgIChXVEY6OlN0cmluZ0ltcGw6On5TdHJpbmdJbXBs
KToKKyAgICAgICAgICAgIC0gRW1wdHlVbmlxdWUgc3RyaW5ncyBhcmUgbm90IGluIHRoZSBBdG9t
aWMvSWRlbnRmaWllciB0YWJlbHMsIHNvIGRvbid0IG5lZWQgcmVtb3ZpbmcuCisgICAgICAgICog
d3RmL3RleHQvU3RyaW5nSW1wbC5oOgorICAgICAgICAoV1RGOjpTdHJpbmdJbXBsOjpTdHJpbmdJ
bXBsKToKKyAgICAgICAgICAgIC0gQ2hhbmdlIEVtcHR5VW5pcXVlIGNvbnN0cnVjdG9yIHRvIGNh
bGwgaGFzaEFuZEZsYWdzRm9yRW1wdHlVbmlxdWUuCisgICAgICAgICogd3RmL3RleHQvU3RyaW5n
U3RhdGljcy5jcHA6CisgICAgICAgIChXVEY6OlN0cmluZ0ltcGw6Omhhc2hBbmRGbGFnc0ZvckVt
cHR5VW5pcXVlKToKKyAgICAgICAgICAgIC0gQWxsb2NhdGUgYSBzZXF1ZW50aWFsIGhhc2ggY29k
ZSAodGhpcyBzaG91bGQgYmUganVzdCBhcyBnb29kIGZvciBkaXN0cmlidXRpb24gJiBiZXR0ZXIK
KyAgICAgICAgICAgICAgZm9yIGRlYnVnZ2luZyB0aGFuIHRoZSByYW5kb20gdmFsdWUpIGFuZCBz
ZXQgZmxhZ3MsIG5vdyBpbmNsdWRpbmcgQXRvbWljICYgSWRlbnRpZmllci4KKwogMjAxNC0wMy0x
OSAgR2F2aW4gQmFycmFjbG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAg
U21hbGwgY2xlYW51cCBvZiBlbXB0eSBzdHJpbmcKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL3RleHQv
QXRvbWljU3RyaW5nLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNT
dHJpbmcuaAkocmV2aXNpb24gMTY1OTA2KQorKysgU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNT
dHJpbmcuaAkod29ya2luZyBjb3B5KQpAQCAtMTg1LDcgKzE4NSw3IEBAIHByaXZhdGU6CiAgICAg
QUxXQVlTX0lOTElORSBzdGF0aWMgUGFzc1JlZlB0cjxTdHJpbmdJbXBsPiBhZGQoU3RyaW5nSW1w
bCogc3RyaW5nKQogICAgIHsKICAgICAgICAgaWYgKCFzdHJpbmcgfHwgc3RyaW5nLT5pc0F0b21p
YygpKSB7Ci0gICAgICAgICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFzdHJpbmcgfHwgc3RyaW5n
ID09IFN0cmluZ0ltcGw6OmVtcHR5KCkgfHwgaXNJbkF0b21pY1N0cmluZ1RhYmxlKHN0cmluZyks
ICJUaGUgYXRvbWljIHN0cmluZyBjb21lcyBmcm9tIGFuIG90aGVyIHRocmVhZCEiKTsKKyAgICAg
ICAgICAgIEFTU0VSVF9XSVRIX01FU1NBR0UoIXN0cmluZyB8fCAhc3RyaW5nLT5sZW5ndGgoKSB8
fCBpc0luQXRvbWljU3RyaW5nVGFibGUoc3RyaW5nKSwgIlRoZSBhdG9taWMgc3RyaW5nIGNvbWVz
IGZyb20gYW4gb3RoZXIgdGhyZWFkISIpOwogICAgICAgICAgICAgcmV0dXJuIHN0cmluZzsKICAg
ICAgICAgfQogICAgICAgICByZXR1cm4gYWRkU2xvd0Nhc2Uoc3RyaW5nKTsKSW5kZXg6IFNvdXJj
ZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93
dGYvdGV4dC9TdHJpbmdJbXBsLmNwcAkocmV2aXNpb24gMTY1OTA2KQorKysgU291cmNlL1dURi93
dGYvdGV4dC9TdHJpbmdJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTEzLDkgKzExMyw5IEBA
IFN0cmluZ0ltcGw6On5TdHJpbmdJbXBsKCkKIAogICAgIFNUUklOR19TVEFUU19SRU1PVkVfU1RS
SU5HKHRoaXMpOwogCi0gICAgaWYgKGlzQXRvbWljKCkpCisgICAgaWYgKGlzQXRvbWljKCkgJiYg
bV9sZW5ndGgpCiAgICAgICAgIEF0b21pY1N0cmluZzo6cmVtb3ZlKHRoaXMpOwotICAgIGlmIChp
c0lkZW50aWZpZXIoKSkgeworICAgIGlmIChpc0lkZW50aWZpZXIoKSAmJiBtX2xlbmd0aCkgewog
ICAgICAgICBpZiAoIXd0ZlRocmVhZERhdGEoKS5jdXJyZW50SWRlbnRpZmllclRhYmxlKCktPnJl
bW92ZSh0aGlzKSkKICAgICAgICAgICAgIENSQVNIKCk7CiAgICAgfQpJbmRleDogU291cmNlL1dU
Ri93dGYvdGV4dC9TdHJpbmdJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvdGV4
dC9TdHJpbmdJbXBsLmgJKHJldmlzaW9uIDE2NTkwNikKKysrIFNvdXJjZS9XVEYvd3RmL3RleHQv
U3RyaW5nSW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOTMsMTggKzI5Myw5IEBAIHByaXZhdGU6
CiAgICAgICAgIC8vIFdlIGV4cGVjdCBtX2xlbmd0aCB0byBiZSBpbml0aWFsaXplZCB0byAwIGFz
IHdlIHVzZSBpdAogICAgICAgICAvLyB0byByZXByZXNlbnQgYSBudWxsIHRlcm1pbmF0ZWQgYnVm
ZmVyLgogICAgICAgICAsIG1fZGF0YTgocmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KCZt
X2xlbmd0aCkpCisgICAgICAgICwgbV9oYXNoQW5kRmxhZ3MoaGFzaEFuZEZsYWdzRm9yRW1wdHlV
bmlxdWUoKSkKICAgICB7CiAgICAgICAgIEFTU0VSVChtX2RhdGE4KTsKLSAgICAgICAgLy8gU2V0
IHRoZSBoYXNoIGVhcmx5LCBzbyB0aGF0IGFsbCBlbXB0eSB1bmlxdWUgU3RyaW5nSW1wbHMgaGF2
ZSBhIGhhc2gsCi0gICAgICAgIC8vIGFuZCBkb24ndCB1c2UgdGhlIG5vcm1hbCBoYXNoaW5nIGFs
Z29yaXRobSAtIHRoZSB1bmlxdWUgbmF0dXJlIG9mIHRoZXNlCi0gICAgICAgIC8vIGtleXMgbWVh
bnMgdGhhdCB3ZSBkb24ndCBuZWVkIHRoZW0gdG8gbWF0Y2ggYW55IG90aGVyIHN0cmluZyAoaW4g
ZmFjdCwKLSAgICAgICAgLy8gdGhhdCdzIGV4YWN0bHkgdGhlIG9wb3NpdGUgb2Ygd2hhdCB3ZSB3
YW50ISksIGFuZCB0ZWggbm9ybWFsIGhhc2ggd291bGQKLSAgICAgICAgLy8gbGVhZCB0byBsb3Rz
IG9mIGNvbmZsaWN0cy4KLSAgICAgICAgdW5zaWduZWQgaGFzaCA9IGNyeXB0b2dyYXBoaWNhbGx5
UmFuZG9tTnVtYmVyKCkgfCAxOwotICAgICAgICBoYXNoIDw8PSBzX2ZsYWdDb3VudDsKLSAgICAg
ICAgaWYgKCFoYXNoKQotICAgICAgICAgICAgaGFzaCA9IDEgPDwgc19mbGFnQ291bnQ7Ci0gICAg
ICAgIG1faGFzaEFuZEZsYWdzID0gaGFzaCB8IEJ1ZmZlckludGVybmFsIHwgc19oYXNoRmxhZzhC
aXRCdWZmZXI7CiAKICAgICAgICAgU1RSSU5HX1NUQVRTX0FERF84QklUX1NUUklORyhtX2xlbmd0
aCk7CiAgICAgfQpAQCAtODA4LDYgKzc5OSw3IEBAIHByaXZhdGU6CiAgICAgdGVtcGxhdGUgPHR5
cGVuYW1lIENoYXJUeXBlPiBzdGF0aWMgUGFzc1JlZjxTdHJpbmdJbXBsPiBjcmVhdGVJbnRlcm5h
bChjb25zdCBDaGFyVHlwZSosIHVuc2lnbmVkKTsKICAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkg
TkVWRVJfSU5MSU5FIGNvbnN0IFVDaGFyKiBnZXREYXRhMTZTbG93Q2FzZSgpIGNvbnN0OwogICAg
IFdURl9FWFBPUlRfUFJJVkFURSBORVZFUl9JTkxJTkUgdW5zaWduZWQgaGFzaFNsb3dDYXNlKCkg
Y29uc3Q7CisgICAgV1RGX0VYUE9SVF9QUklWQVRFIHVuc2lnbmVkIGhhc2hBbmRGbGFnc0ZvckVt
cHR5VW5pcXVlKCk7CiAKICAgICAvLyBUaGUgYm90dG9tIGJpdCBpbiB0aGUgcmVmIGNvdW50IGlu
ZGljYXRlcyBhIHN0YXRpYyAoaW1tb3J0YWwpIHN0cmluZy4KICAgICBzdGF0aWMgY29uc3QgdW5z
aWduZWQgc19yZWZDb3VudEZsYWdJc1N0YXRpY1N0cmluZyA9IDB4MTsKSW5kZXg6IFNvdXJjZS9X
VEYvd3RmL3RleHQvU3RyaW5nU3RhdGljcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93
dGYvdGV4dC9TdHJpbmdTdGF0aWNzLmNwcAkocmV2aXNpb24gMTY1OTA2KQorKysgU291cmNlL1dU
Ri93dGYvdGV4dC9TdHJpbmdTdGF0aWNzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksNiArNDks
MjEgQEAgU3RyaW5nSW1wbCogU3RyaW5nSW1wbDo6ZW1wdHkoKQogICAgIHJldHVybiAmZW1wdHlT
dHJpbmcuZ2V0KCk7CiB9CiAKKy8vIFNldCB0aGUgaGFzaCBlYXJseSwgc28gdGhhdCBhbGwgZW1w
dHkgdW5pcXVlIFN0cmluZ0ltcGxzIGhhdmUgYSBoYXNoLAorLy8gYW5kIGRvbid0IHVzZSB0aGUg
bm9ybWFsIGhhc2hpbmcgYWxnb3JpdGhtIC0gdGhlIHVuaXF1ZSBuYXR1cmUgb2YgdGhlc2UKKy8v
IGtleXMgbWVhbnMgdGhhdCB3ZSBkb24ndCBuZWVkIHRoZW0gdG8gbWF0Y2ggYW55IG90aGVyIHN0
cmluZyAoaW4gZmFjdCwKKy8vIHRoYXQncyBleGFjdGx5IHRoZSBvcG9zaXRlIG9mIHdoYXQgd2Ug
d2FudCEpLCBhbmQgdGhlIG5vcm1hbCBoYXNoIHdvdWxkCisvLyBsZWFkIHRvIGxvdHMgb2YgY29u
ZmxpY3RzLgordW5zaWduZWQgU3RyaW5nSW1wbDo6aGFzaEFuZEZsYWdzRm9yRW1wdHlVbmlxdWUo
KQoreworICAgIHN0YXRpYyB1bnNpZ25lZCBzX25leHRIYXNoQW5kRmxhZ3NGb3JFbXB0eVVuaXF1
ZSA9ICgxIDw8IHNfZmxhZ0NvdW50KSB8IEJ1ZmZlckludGVybmFsIHwgc19oYXNoRmxhZzhCaXRC
dWZmZXIgfCBzX2hhc2hGbGFnSXNJZGVudGlmaWVyIHwgc19oYXNoRmxhZ0lzQXRvbWljOworICAg
IHVuc2lnbmVkIHJlc3VsdCA9IHNfbmV4dEhhc2hBbmRGbGFnc0ZvckVtcHR5VW5pcXVlOworICAg
IGRvIHsKKyAgICAgICAgc19uZXh0SGFzaEFuZEZsYWdzRm9yRW1wdHlVbmlxdWUgKz0gMSA8PCBz
X2ZsYWdDb3VudDsKKyAgICB9IHdoaWxlICghKHNfbmV4dEhhc2hBbmRGbGFnc0ZvckVtcHR5VW5p
cXVlID4+IHNfZmxhZ0NvdW50KSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwogV1RGX0VYUE9S
VERBVEEgREVGSU5FX0dMT0JBTChBdG9taWNTdHJpbmcsIG51bGxBdG9tKQogV1RGX0VYUE9SVERB
VEEgREVGSU5FX0dMT0JBTChBdG9taWNTdHJpbmcsIGVtcHR5QXRvbSkKIFdURl9FWFBPUlREQVRB
IERFRklORV9HTE9CQUwoQXRvbWljU3RyaW5nLCB0ZXh0QXRvbSkK
</data>
<flag name="review"
          id="251486"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>