<?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>138842</bug_id>
          
          <creation_ts>2014-11-18 13:19:00 -0800</creation_ts>
          <short_desc>Have Vector::capacity() return an unsigned instead of a size_t</short_desc>
          <delta_ts>2014-11-24 03:24:01 -0800</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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>andersca</cc>
    
    <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ggaren</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1049568</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-11-18 13:19:00 -0800</bug_when>
    <thetext>Have Vector::capacity() return an unsigned instead of a size_t as capacity is stored as an unsigned internally.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049569</commentid>
    <comment_count>1</comment_count>
      <attachid>241807</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-11-18 13:22:01 -0800</bug_when>
    <thetext>Created attachment 241807
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049615</commentid>
    <comment_count>2</comment_count>
      <attachid>241807</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-11-18 15:40:01 -0800</bug_when>
    <thetext>Comment on attachment 241807
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049632</commentid>
    <comment_count>3</comment_count>
      <attachid>241807</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-18 16:17:20 -0800</bug_when>
    <thetext>Comment on attachment 241807
Patch

Clearing flags on attachment: 241807

Committed r176293: &lt;http://trac.webkit.org/changeset/176293&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049633</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-18 16:17:25 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049713</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-11-18 21:29:22 -0800</bug_when>
    <thetext>Just as commented in another bug, this seems like the wrong direction to me. 4Gb is not enough for everyone, why bring more of WebKit back to Stone Age.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049714</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-11-18 21:31:26 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Just as commented in another bug, this seems like the wrong direction to me.
&gt; 4Gb is not enough for everyone, why bring more of WebKit back to Stone Age.

Sorry about that. I wasn&apos;t aware this was controversial. I was annoyed by the fact that Vector uses unsigned types internally but its API still uses size_t.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049732</commentid>
    <comment_count>7</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-11-18 23:22:12 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Just as commented in another bug, this seems like the wrong direction to me.
&gt; 4Gb is not enough for everyone, why bring more of WebKit back to Stone Age.

The majority of Vector&apos;s clients will never need to store 4GiB or more.

It seems better to build something special-purpose if/when we do need dynamic arrays with that much capacity.

Also, making Vector strictly &quot;unsigned&quot; unifies the behavior between 32-bit and 64-bit platforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049848</commentid>
    <comment_count>8</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-11-19 11:30:16 -0800</bug_when>
    <thetext>If we are going to limit Vector to 4GB, can we at least add a RELEASE_ASSERT upon grow that says we&apos;re not going to overflow the 4GB limit?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1050832</commentid>
    <comment_count>9</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-11-24 03:24:01 -0800</bug_when>
    <thetext>Perhaps the constructor and the functions that expand size should still take size_t so we can crash on overflows?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241807</attachid>
            <date>2014-11-18 13:22:01 -0800</date>
            <delta_ts>2014-11-18 16:17:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138842-20141118132216.patch</filename>
            <type>text/plain</type>
            <size>8669</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc2Mjc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGE0ZjFhODY5NmMwZjk5NTM5ZWQ3OGZh
NDgxNmZmNjEyMzU0ZDlkYjcuLjk2MjMyN2M3ZGFjYmU4M2YxYTVkYmFhMDNiNGI5OTMwNzQyYTgz
NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMjAgQEAKIDIwMTQtMTEtMTggIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KIAorICAgICAgICBIYXZlIFZlY3Rvcjo6Y2FwYWNpdHkoKSByZXR1cm4gYW4g
dW5zaWduZWQgaW5zdGVhZCBvZiBhIHNpemVfdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM4ODQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgSGF2ZSBWZWN0b3I6OmNhcGFjaXR5KCkgcmV0dXJuIGFuIHVu
c2lnbmVkIGluc3RlYWQgb2YgYSBzaXplX3QgYXMKKyAgICAgICAgY2FwYWNpdHkgaXMgc3RvcmVk
IGFzIGFuIHVuc2lnbmVkIGludGVybmFsbHkuCisKKyAgICAgICAgKiB3dGYvVmVjdG9yLmg6Cisg
ICAgICAgIChXVEY6OlZlY3Rvcjo6Y2FwYWNpdHkpOgorICAgICAgICAoV1RGOjpPdmVyZmxvd0hh
bmRsZXI+OjpleHBhbmRDYXBhY2l0eSk6CisgICAgICAgIChXVEY6Ok92ZXJmbG93SGFuZGxlcj46
OnRyeUV4cGFuZENhcGFjaXR5KToKKworMjAxNC0xMS0xOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpA
YXBwbGUuY29tPgorCiAgICAgICAgIFVwZGF0ZSB0aGUgVmVjdG9yIEFQSSB0byBkZWFsIHdpdGgg
dW5zaWduZWQgdHlwZXMgaW5zdGVhZCBvZiBzaXplX3QKICAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzODgyNAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTlhMjAyMTky
M2ZmNzBjZWUyYTk4ZDZiM2YyMTVlNDZiNDliNzZiNC4uMmFmYzMzNmNiM2U1NDIyMmZhYjMwYTQz
MmY5NjNkYTdhMjYwMjYwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI1IEBACiAyMDE0LTExLTE4
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgSGF2ZSBWZWN0b3I6
OmNhcGFjaXR5KCkgcmV0dXJuIGFuIHVuc2lnbmVkIGluc3RlYWQgb2YgYSBzaXplX3QKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzODg0MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSB0aGUgY29k
ZSBiYXNlIG5vdyB0aGF0IFZlY3Rvcjo6Y2FwYWNpdHkoKSByZXR1cm5zIGFuIHVuc2lnbmVkCisg
ICAgICAgIHR5cGUgaW5zdGVhZCBvZiBhIHNpemVfdC4KKworICAgICAgICBObyBuZXcgdGVzdHMs
IG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIGVkaXRpbmcvVGV4dEl0ZXJhdG9yLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNlYXJjaEJ1ZmZlcjo6YXBwZW5kKToKKyAgICAgICAgKFdl
YkNvcmU6OlNlYXJjaEJ1ZmZlcjo6cHJlcGVuZENvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6
U2VhcmNoQnVmZmVyOjpzZWFyY2gpOgorICAgICAgICAoV2ViQ29yZTo6U2VhcmNoQnVmZmVyOjps
ZW5ndGgpOgorICAgICAgICAqIHBsYXRmb3JtL1NoYXJlZEJ1ZmZlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTaGFyZWRCdWZmZXI6OmR1cGxpY2F0ZURhdGFCdWZmZXJJZk5lY2Vzc2FyeSk6CisK
KzIwMTQtMTEtMTggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBV
cGRhdGUgdGhlIFZlY3RvciBBUEkgdG8gZGVhbCB3aXRoIHVuc2lnbmVkIHR5cGVzIGluc3RlYWQg
b2Ygc2l6ZV90CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMzg4MjQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvVmVjdG9yLmggYi9Tb3VyY2Uv
V1RGL3d0Zi9WZWN0b3IuaAppbmRleCBmODRlM2EwZTIyYTFjZWMyMTdjM2YyNzc1Y2UyMjVjNGMx
ZmM0ZDEyLi4yNzQ1NjhhNjkxYzY0YTAzNDIzYTRmMmI3MzQ4NzdlNjIwNzJkOTFlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi9WZWN0b3IuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9WZWN0b3Iu
aApAQCAtNjEwLDcgKzYxMCw3IEBAIHB1YmxpYzoKIAogICAgIHNpemVfdCBzaXplKCkgY29uc3Qg
eyByZXR1cm4gbV9zaXplOyB9CiAgICAgc3RhdGljIHB0cmRpZmZfdCBzaXplTWVtb3J5T2Zmc2V0
KCkgeyByZXR1cm4gT0JKRUNUX09GRlNFVE9GKFZlY3RvciwgbV9zaXplKTsgfQotICAgIHNpemVf
dCBjYXBhY2l0eSgpIGNvbnN0IHsgcmV0dXJuIEJhc2U6OmNhcGFjaXR5KCk7IH0KKyAgICB1bnNp
Z25lZCBjYXBhY2l0eSgpIGNvbnN0IHsgcmV0dXJuIEJhc2U6OmNhcGFjaXR5KCk7IH0KICAgICBi
b29sIGlzRW1wdHkoKSBjb25zdCB7IHJldHVybiAhc2l6ZSgpOyB9CiAKICAgICBUJiBhdCh1bnNp
Z25lZCBpKQpAQCAtODc1LDcgKzg3NSw3IEBAIHZvaWQgVmVjdG9yPFQsIGlubGluZUNhcGFjaXR5
LCBPdmVyZmxvd0hhbmRsZXI+OjphcHBlbmRSYW5nZShJdGVyYXRvciBzdGFydCwgSXRlCiB0ZW1w
bGF0ZTx0eXBlbmFtZSBULCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSwgdHlwZW5hbWUgT3ZlcmZs
b3dIYW5kbGVyPgogdm9pZCBWZWN0b3I8VCwgaW5saW5lQ2FwYWNpdHksIE92ZXJmbG93SGFuZGxl
cj46OmV4cGFuZENhcGFjaXR5KHVuc2lnbmVkIG5ld01pbkNhcGFjaXR5KQogewotICAgIHJlc2Vy
dmVDYXBhY2l0eShzdGQ6Om1heChuZXdNaW5DYXBhY2l0eSwgc3RkOjptYXgoMTZ1LCBzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4oY2FwYWNpdHkoKSArIGNhcGFjaXR5KCkgLyA0ICsgMSkpKSk7CisgICAg
cmVzZXJ2ZUNhcGFjaXR5KHN0ZDo6bWF4KG5ld01pbkNhcGFjaXR5LCBzdGQ6Om1heCgxNnUsIGNh
cGFjaXR5KCkgKyBjYXBhY2l0eSgpIC8gNCArIDEpKSk7CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1l
IFQsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5LCB0eXBlbmFtZSBPdmVyZmxvd0hhbmRsZXI+CkBA
IC04OTMsNyArODkzLDcgQEAgVCogVmVjdG9yPFQsIGlubGluZUNhcGFjaXR5LCBPdmVyZmxvd0hh
bmRsZXI+OjpleHBhbmRDYXBhY2l0eSh1bnNpZ25lZCBuZXdNaW5DYXAKIHRlbXBsYXRlPHR5cGVu
YW1lIFQsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5LCB0eXBlbmFtZSBPdmVyZmxvd0hhbmRsZXI+
CiBib29sIFZlY3RvcjxULCBpbmxpbmVDYXBhY2l0eSwgT3ZlcmZsb3dIYW5kbGVyPjo6dHJ5RXhw
YW5kQ2FwYWNpdHkodW5zaWduZWQgbmV3TWluQ2FwYWNpdHkpCiB7Ci0gICAgcmV0dXJuIHRyeVJl
c2VydmVDYXBhY2l0eShzdGQ6Om1heChuZXdNaW5DYXBhY2l0eSwgc3RkOjptYXgoMTZ1LCBzdGF0
aWNfY2FzdDx1bnNpZ25lZD4oY2FwYWNpdHkoKSArIGNhcGFjaXR5KCkgLyA0ICsgMSkpKSk7Cisg
ICAgcmV0dXJuIHRyeVJlc2VydmVDYXBhY2l0eShzdGQ6Om1heChuZXdNaW5DYXBhY2l0eSwgc3Rk
OjptYXgoMTZ1LCBjYXBhY2l0eSgpICsgY2FwYWNpdHkoKSAvIDQgKyAxKSkpOwogfQogCiB0ZW1w
bGF0ZTx0eXBlbmFtZSBULCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSwgdHlwZW5hbWUgT3ZlcmZs
b3dIYW5kbGVyPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0
b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCmluZGV4IDg0
NTI1YmVmOGUyM2FiMzI4OTJhNDgwYWQxMmQ2MGYwODQ2OTIyYTAuLjJkOWI3OWUxM2FiZjk2MGE2
MTRiOTZkMjcwNjYwZTVmMzVlMzQxN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvVGV4dEl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVy
YXRvci5jcHAKQEAgLTEwMCw4ICsxMDAsOCBAQCBwcml2YXRlOgogICAgIEZpbmRPcHRpb25zIG1f
b3B0aW9uczsKIAogICAgIFZlY3RvcjxVQ2hhcj4gbV9idWZmZXI7Ci0gICAgc2l6ZV90IG1fb3Zl
cmxhcDsKLSAgICBzaXplX3QgbV9wcmVmaXhMZW5ndGg7CisgICAgdW5zaWduZWQgbV9vdmVybGFw
OworICAgIHVuc2lnbmVkIG1fcHJlZml4TGVuZ3RoOwogICAgIGJvb2wgbV9hdEJyZWFrOwogICAg
IGJvb2wgbV9uZWVkc01vcmVDb250ZXh0OwogCkBAIC0xMTMsNyArMTEzLDcgQEAgcHJpdmF0ZToK
IAogcHJpdmF0ZToKICAgICB2b2lkIGFwcGVuZChVQ2hhciwgYm9vbCBpc0NoYXJhY3RlclN0YXJ0
KTsKLSAgICBzaXplX3QgbGVuZ3RoKCkgY29uc3Q7CisgICAgdW5zaWduZWQgbGVuZ3RoKCkgY29u
c3Q7CiAKICAgICBTdHJpbmcgbV90YXJnZXQ7CiAgICAgRmluZE9wdGlvbnMgbV9vcHRpb25zOwpA
QCAtMjAxMCwxMiArMjAxMCwxMiBAQCBpbmxpbmUgc2l6ZV90IFNlYXJjaEJ1ZmZlcjo6YXBwZW5k
KFN0cmluZ1ZpZXcgdGV4dCkKICAgICAgICAgbV9hdEJyZWFrID0gZmFsc2U7CiAgICAgfSBlbHNl
IGlmIChtX2J1ZmZlci5zaXplKCkgPT0gbV9idWZmZXIuY2FwYWNpdHkoKSkgewogICAgICAgICBt
ZW1jcHkobV9idWZmZXIuZGF0YSgpLCBtX2J1ZmZlci5kYXRhKCkgKyBtX2J1ZmZlci5zaXplKCkg
LSBtX292ZXJsYXAsIG1fb3ZlcmxhcCAqIHNpemVvZihVQ2hhcikpOwotICAgICAgICBtX3ByZWZp
eExlbmd0aCAtPSBzdGQ6Om1pbihtX3ByZWZpeExlbmd0aCwgbV9idWZmZXIuc2l6ZSgpIC0gbV9v
dmVybGFwKTsKKyAgICAgICAgbV9wcmVmaXhMZW5ndGggLT0gc3RkOjptaW4obV9wcmVmaXhMZW5n
dGgsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihtX2J1ZmZlci5zaXplKCkpIC0gbV9vdmVybGFwKTsK
ICAgICAgICAgbV9idWZmZXIuc2hyaW5rKG1fb3ZlcmxhcCk7CiAgICAgfQogCi0gICAgc2l6ZV90
IG9sZExlbmd0aCA9IG1fYnVmZmVyLnNpemUoKTsKLSAgICBzaXplX3QgdXNhYmxlTGVuZ3RoID0g
c3RkOjptaW48c2l6ZV90PihtX2J1ZmZlci5jYXBhY2l0eSgpIC0gb2xkTGVuZ3RoLCB0ZXh0Lmxl
bmd0aCgpKTsKKyAgICB1bnNpZ25lZCBvbGRMZW5ndGggPSBtX2J1ZmZlci5zaXplKCk7CisgICAg
dW5zaWduZWQgdXNhYmxlTGVuZ3RoID0gc3RkOjptaW4obV9idWZmZXIuY2FwYWNpdHkoKSAtIG9s
ZExlbmd0aCwgdGV4dC5sZW5ndGgoKSk7CiAgICAgQVNTRVJUKHVzYWJsZUxlbmd0aCk7CiAgICAg
bV9idWZmZXIuZ3JvdyhvbGRMZW5ndGggKyB1c2FibGVMZW5ndGgpOwogICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCB1c2FibGVMZW5ndGg7ICsraSkKQEAgLTIwMzgsMTMgKzIwMzgsMTMgQEAg
aW5saW5lIHZvaWQgU2VhcmNoQnVmZmVyOjpwcmVwZW5kQ29udGV4dChTdHJpbmdWaWV3IHRleHQp
CiAKICAgICBtX2F0QnJlYWsgPSBmYWxzZTsKIAotICAgIHNpemVfdCB3b3JkQm91bmRhcnlDb250
ZXh0U3RhcnQgPSB0ZXh0Lmxlbmd0aCgpOworICAgIHVuc2lnbmVkIHdvcmRCb3VuZGFyeUNvbnRl
eHRTdGFydCA9IHRleHQubGVuZ3RoKCk7CiAgICAgaWYgKHdvcmRCb3VuZGFyeUNvbnRleHRTdGFy
dCkgewogICAgICAgICBVMTZfQkFDS18xKHRleHQsIDAsIHdvcmRCb3VuZGFyeUNvbnRleHRTdGFy
dCk7CiAgICAgICAgIHdvcmRCb3VuZGFyeUNvbnRleHRTdGFydCA9IHN0YXJ0T2ZMYXN0V29yZEJv
dW5kYXJ5Q29udGV4dCh0ZXh0LnN1YnN0cmluZygwLCB3b3JkQm91bmRhcnlDb250ZXh0U3RhcnQp
KTsKICAgICB9CiAKLSAgICBzaXplX3QgdXNhYmxlTGVuZ3RoID0gc3RkOjptaW4obV9idWZmZXIu
Y2FwYWNpdHkoKSAtIG1fcHJlZml4TGVuZ3RoLCB0ZXh0Lmxlbmd0aCgpIC0gd29yZEJvdW5kYXJ5
Q29udGV4dFN0YXJ0KTsKKyAgICB1bnNpZ25lZCB1c2FibGVMZW5ndGggPSBzdGQ6Om1pbihtX2J1
ZmZlci5jYXBhY2l0eSgpIC0gbV9wcmVmaXhMZW5ndGgsIHRleHQubGVuZ3RoKCkgLSB3b3JkQm91
bmRhcnlDb250ZXh0U3RhcnQpOwogICAgIFdURjo6YXBwZW5kKG1fYnVmZmVyLCB0ZXh0LnN1YnN0
cmluZyh0ZXh0Lmxlbmd0aCgpIC0gdXNhYmxlTGVuZ3RoLCB1c2FibGVMZW5ndGgpKTsKICAgICBt
X3ByZWZpeExlbmd0aCArPSB1c2FibGVMZW5ndGg7CiAKQEAgLTIxOTAsNyArMjE5MCw3IEBAIGlu
bGluZSBib29sIFNlYXJjaEJ1ZmZlcjo6aXNXb3JkU3RhcnRNYXRjaChzaXplX3Qgc3RhcnQsIHNp
emVfdCBsZW5ndGgpIGNvbnN0CiAKIGlubGluZSBzaXplX3QgU2VhcmNoQnVmZmVyOjpzZWFyY2go
c2l6ZV90JiBzdGFydCkKIHsKLSAgICBzaXplX3Qgc2l6ZSA9IG1fYnVmZmVyLnNpemUoKTsKKyAg
ICB1bnNpZ25lZCBzaXplID0gbV9idWZmZXIuc2l6ZSgpOwogICAgIGlmIChtX2F0QnJlYWspIHsK
ICAgICAgICAgaWYgKCFzaXplKQogICAgICAgICAgICAgcmV0dXJuIDA7CkBAIC0yMjIxLDcgKzIy
MjEsNyBAQCBuZXh0TWF0Y2g6CiAgICAgLy8gVGhlIHNhbWUgbWF0Y2ggbWF5IGFwcGVhciBsYXRl
ciwgbWF0Y2hpbmcgbW9yZSBjaGFyYWN0ZXJzLAogICAgIC8vIHBvc3NpYmx5IGluY2x1ZGluZyBh
IGNvbWJpbmluZyBjaGFyYWN0ZXIgdGhhdCdzIG5vdCB5ZXQgaW4gdGhlIGJ1ZmZlci4KICAgICBp
ZiAoIW1fYXRCcmVhayAmJiBzdGF0aWNfY2FzdDxzaXplX3Q+KG1hdGNoU3RhcnQpID49IHNpemUg
LSBtX292ZXJsYXApIHsKLSAgICAgICAgc2l6ZV90IG92ZXJsYXAgPSBtX292ZXJsYXA7CisgICAg
ICAgIHVuc2lnbmVkIG92ZXJsYXAgPSBtX292ZXJsYXA7CiAgICAgICAgIGlmIChtX29wdGlvbnMg
JiBBdFdvcmRTdGFydHMpIHsKICAgICAgICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoZXJlIGlzIHN1
ZmZpY2llbnQgY29udGV4dCBiZWZvcmUgbWF0Y2hTdGFydCB0aGUgbmV4dCB0aW1lIGFyb3VuZCBm
b3IKICAgICAgICAgICAgIC8vIGRldGVybWluaW5nIGlmIGl0IGlzIGF0IGEgd29yZCBib3VuZGFy
eS4KQEAgLTIzNTgsMTEgKzIzNTgsMTEgQEAgaW5saW5lIHNpemVfdCBTZWFyY2hCdWZmZXI6OnNl
YXJjaChzaXplX3QmIHN0YXJ0KQogLy8gUmV0dXJucyB0aGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMg
dGhhdCB3ZXJlIGFwcGVuZGVkIHRvIHRoZSBidWZmZXIgKHdoYXQgd2UgYXJlIHNlYXJjaGluZyBp
bikuCiAvLyBUaGF0J3Mgbm90IG5lY2Vzc2FyaWx5IHRoZSBzYW1lIGxlbmd0aCBhcyB0aGUgcGFz
c2VkLWluIHRhcmdldCBzdHJpbmcsIGJlY2F1c2UgY2FzZSBmb2xkaW5nCiAvLyBjYW4gbWFrZSB0
d28gc3RyaW5ncyBtYXRjaCBldmVuIHRob3VnaCB0aGV5J3JlIG5vdCB0aGUgc2FtZSBsZW5ndGgu
Ci1zaXplX3QgU2VhcmNoQnVmZmVyOjpsZW5ndGgoKSBjb25zdAordW5zaWduZWQgU2VhcmNoQnVm
ZmVyOjpsZW5ndGgoKSBjb25zdAogewotICAgIHNpemVfdCBidWZmZXJTaXplID0gbV90YXJnZXQu
bGVuZ3RoKCk7Ci0gICAgc2l6ZV90IGxlbmd0aCA9IDA7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBidWZmZXJTaXplOyArK2kpCisgICAgdW5zaWduZWQgYnVmZmVyU2l6ZSA9IG1fdGFyZ2V0
Lmxlbmd0aCgpOworICAgIHVuc2lnbmVkIGxlbmd0aCA9IDA7CisgICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSA8IGJ1ZmZlclNpemU7ICsraSkKICAgICAgICAgbGVuZ3RoICs9IG1faXNDaGFyYWN0
ZXJTdGFydEJ1ZmZlcltpXTsKICAgICByZXR1cm4gbGVuZ3RoOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkQnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1NoYXJlZEJ1ZmZlci5jcHAKaW5kZXggYWU2ZWVlNWViZjUwMGVjY2UwM2E1NDExNDNh
ZTlhNzU1ODhlYzFlZi4uNjdhYTkzNGQ4ZDg4ODdiNGM5MjllMDgxMTQzYmU3NGRmMWZkYzhiYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkQnVmZmVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRCdWZmZXIuY3BwCkBAIC0yNTIsMTEgKzI1
MiwxMSBAQCBQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gU2hhcmVkQnVmZmVyOjpjb3B5KCkgY29u
c3QKIAogdm9pZCBTaGFyZWRCdWZmZXI6OmR1cGxpY2F0ZURhdGFCdWZmZXJJZk5lY2Vzc2FyeSgp
IGNvbnN0CiB7Ci0gICAgc2l6ZV90IGN1cnJlbnRDYXBhY2l0eSA9IG1fYnVmZmVyLT5kYXRhLmNh
cGFjaXR5KCk7CisgICAgdW5zaWduZWQgY3VycmVudENhcGFjaXR5ID0gbV9idWZmZXItPmRhdGEu
Y2FwYWNpdHkoKTsKICAgICBpZiAobV9idWZmZXItPmhhc09uZVJlZigpIHx8IG1fc2l6ZSA8PSBj
dXJyZW50Q2FwYWNpdHkpCiAgICAgICAgIHJldHVybjsKIAotICAgIHNpemVfdCBuZXdDYXBhY2l0
eSA9IHN0ZDo6bWF4KHN0YXRpY19jYXN0PHNpemVfdD4obV9zaXplKSwgY3VycmVudENhcGFjaXR5
ICogMik7CisgICAgdW5zaWduZWQgbmV3Q2FwYWNpdHkgPSBzdGQ6Om1heChtX3NpemUsIGN1cnJl
bnRDYXBhY2l0eSAqIDIpOwogICAgIFJlZlB0cjxEYXRhQnVmZmVyPiBuZXdCdWZmZXIgPSBhZG9w
dFJlZihuZXcgRGF0YUJ1ZmZlcik7CiAgICAgbmV3QnVmZmVyLT5kYXRhLnJlc2VydmVJbml0aWFs
Q2FwYWNpdHkobmV3Q2FwYWNpdHkpOwogICAgIG5ld0J1ZmZlci0+ZGF0YSA9IG1fYnVmZmVyLT5k
YXRhOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>