<?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>201020</bug_id>
          
          <creation_ts>2019-08-21 19:09:55 -0700</creation_ts>
          <short_desc>Rename StringBuilder functions to avoid unclear &quot;append uninitialized&quot; terminology</short_desc>
          <delta_ts>2019-08-22 09:51:20 -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>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>achristensen</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1563892</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-08-21 19:09:55 -0700</bug_when>
    <thetext>Rename StringBuilder functions to avoid unclear &quot;append uninitialized&quot; terminology</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563893</commentid>
    <comment_count>1</comment_count>
      <attachid>376964</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-08-21 19:10:56 -0700</bug_when>
    <thetext>Created attachment 376964
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563924</commentid>
    <comment_count>2</comment_count>
      <attachid>376972</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-08-21 20:29:20 -0700</bug_when>
    <thetext>Created attachment 376972
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1564033</commentid>
    <comment_count>3</comment_count>
      <attachid>376972</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-08-22 07:28:46 -0700</bug_when>
    <thetext>Comment on attachment 376972
Patch

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

&gt; Source/WTF/wtf/text/StringBuilder.cpp:134
&gt; +    std::memcpy(m_bufferCharacters16, currentCharacters, static_cast&lt;size_t&gt;(m_length.unsafeGet()) * sizeof(UChar)); // This can&apos;t overflow.

Why did you remove the other &quot;This can&apos;t overflow.&quot; comment but not this one?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1564065</commentid>
    <comment_count>4</comment_count>
      <attachid>376972</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-08-22 08:55:55 -0700</bug_when>
    <thetext>Comment on attachment 376972
Patch

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

&gt;&gt; Source/WTF/wtf/text/StringBuilder.cpp:134
&gt;&gt; +    std::memcpy(m_bufferCharacters16, currentCharacters, static_cast&lt;size_t&gt;(m_length.unsafeGet()) * sizeof(UChar)); // This can&apos;t overflow.
&gt; 
&gt; Why did you remove the other &quot;This can&apos;t overflow.&quot; comment but not this one?

The comment here has a meaning even though it&apos;s not as specific and clear as I would like: limits enforced on m_length elsewhere in this class and other WTF::String family classes are presumably the reason this multiplication by 2 can’t overflow, even on a 32-bit platform where size_t is 32-bit.

The other comment was different. It was multiplying by sizeof(LChar), which is 1; obviously multiplying by 1 won’t overflow. I removed both the multiplication and the comment because I don’t think we need an explicit typecast and multiplication; then there’s no math at all so no need to say anything about overflow. If we really were worried that sizeof(LChar) == 1 was non-obvious we could have put in a compile time assertion, but I didn’t think that was needed either.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1564093</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-22 09:49:49 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 376972:

webgl/2.0.0/conformance/ogles/GL/mat/mat_025_to_032.html bug 201043 (author: justin_fan@apple.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1564094</commentid>
    <comment_count>6</comment_count>
      <attachid>376972</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-22 09:50:34 -0700</bug_when>
    <thetext>Comment on attachment 376972
Patch

Clearing flags on attachment: 376972

Committed r249015: &lt;https://trac.webkit.org/changeset/249015&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1564095</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-22 09:50:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1564096</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-08-22 09:51:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/54602473&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>376964</attachid>
            <date>2019-08-21 19:10:56 -0700</date>
            <delta_ts>2019-08-21 20:29:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201020-20190821191053.patch</filename>
            <type>text/plain</type>
            <size>10068</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4OTkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDgzOWM2NWMwYWNkYTBiMjlmNTNiNWM1
OGQ2YjYzZTZjMjM5MmI2ZGQuLjFkNjgxZjg5ZmUyNzYzMDc2N2Y0NzQ5Yjk2NTNkYTczYzQxMWQ0
ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTktMDgtMjEgIERhcmluIEFkbGVyICA8ZGFyaW5A
YXBwbGUuY29tPgorCisgICAgICAgIFJlbmFtZSBTdHJpbmdCdWlsZGVyIGZ1bmN0aW9ucyB0byBh
dm9pZCB1bmNsZWFyICJhcHBlbmQgdW5pbml0aWFsaXplZCIgdGVybWlub2xvZ3kKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTAyMAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd3RmL3RleHQvU3RyaW5n
QnVpbGRlci5jcHA6CisgICAgICAgIChXVEY6OlN0cmluZ0J1aWxkZXI6OmFsbG9jYXRlQnVmZmVy
KTogVXNlIHN0ZDo6bWVtY3B5IGluc3RlYWQgb2YganVzdCBtZW1jcHkuCisgICAgICAgIChXVEY6
OlN0cmluZ0J1aWxkZXI6OmV4dGVuZEJ1ZmZlckZvckFwcGVuZGluZyk6IFJlbmFtZWQuCisgICAg
ICAgIChXVEY6OlN0cmluZ0J1aWxkZXI6OmV4dGVuZEJ1ZmZlckZvckFwcGVuZGluZ1dpdGhvdXRP
dmVyZmxvd0NoZWNrKTogRGl0dG8uCisgICAgICAgIChXVEY6OlN0cmluZ0J1aWxkZXI6OmV4dGVu
ZEJ1ZmZlckZvckFwcGVuZGluZzgpOiBEaXR0by4KKyAgICAgICAgKFdURjo6U3RyaW5nQnVpbGRl
cjo6ZXh0ZW5kQnVmZmVyRm9yQXBwZW5kaW5nMTYpOiBEaXR0by4KKyAgICAgICAgKFdURjo6U3Ry
aW5nQnVpbGRlcjo6ZXh0ZW5kQnVmZmVyRm9yQXBwZW5kaW5nU2xvd1BhdGgpOiBEaXR0by4KKyAg
ICAgICAgKFdURjo6U3RyaW5nQnVpbGRlcjo6YXBwZW5kQ2hhcmFjdGVycyk6IFVwZGF0ZWQgZm9y
IG5ldyBuYW1lcy4KKyAgICAgICAgKiB3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg6IFVwZGF0ZWQg
Zm9yIG5ldyBuYW1lcy4KKwogMjAxOS0wOC0yMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgogCiAgICAgICAgIHJlZ2lzdHJhYmxlRG9tYWluc1RvUmVtb3ZlV2Vic2l0ZURhdGFGb3Io
KSBkb2VzIG5vdCBuZWVkIHRvIHJldHVybiBhIEhhc2hNYXAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvd3RmL3RleHQvU3RyaW5nQnVpbGRlci5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmlu
Z0J1aWxkZXIuY3BwCmluZGV4IGZkNTk5ODFlZWY3N2ZmYWYwODNiNGQ1ODY2OWZmNWI3M2NhNGU3
ZTguLmVlN2EwNTZlNGI4ZGM4MjJhMjNkZmY2YTEwYWFhOGFmYWU5MWI3YzAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dURi93
dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmNwcApAQCAtMTEzLDcgKzExMyw3IEBAIHZvaWQgU3RyaW5n
QnVpbGRlcjo6YWxsb2NhdGVCdWZmZXIoY29uc3QgTENoYXIqIGN1cnJlbnRDaGFyYWN0ZXJzLCB1
bnNpZ25lZCByZXF1CiAgICAgYXV0byBidWZmZXIgPSBTdHJpbmdJbXBsOjp0cnlDcmVhdGVVbmlu
aXRpYWxpemVkKHJlcXVpcmVkTGVuZ3RoLCBtX2J1ZmZlckNoYXJhY3RlcnM4KTsKICAgICBpZiAo
VU5MSUtFTFkoIWJ1ZmZlcikpCiAgICAgICAgIHJldHVybiBkaWRPdmVyZmxvdygpOwotICAgIG1l
bWNweShtX2J1ZmZlckNoYXJhY3RlcnM4LCBjdXJyZW50Q2hhcmFjdGVycywgc3RhdGljX2Nhc3Q8
c2l6ZV90PihtX2xlbmd0aC51bnNhZmVHZXQoKSkgKiBzaXplb2YoTENoYXIpKTsgLy8gVGhpcyBj
YW4ndCBvdmVyZmxvdy4KKyAgICBzdGQ6Om1lbWNweShtX2J1ZmZlckNoYXJhY3RlcnM4LCBjdXJy
ZW50Q2hhcmFjdGVycywgbV9sZW5ndGgudW5zYWZlR2V0KCkpOwogICAgIAogICAgIC8vIFVwZGF0
ZSB0aGUgYnVpbGRlciBzdGF0ZS4KICAgICBtX2J1ZmZlciA9IFdURk1vdmUoYnVmZmVyKTsKQEAg
LTEzMSw3ICsxMzEsNyBAQCB2b2lkIFN0cmluZ0J1aWxkZXI6OmFsbG9jYXRlQnVmZmVyKGNvbnN0
IFVDaGFyKiBjdXJyZW50Q2hhcmFjdGVycywgdW5zaWduZWQgcmVxdQogICAgIGF1dG8gYnVmZmVy
ID0gU3RyaW5nSW1wbDo6dHJ5Q3JlYXRlVW5pbml0aWFsaXplZChyZXF1aXJlZExlbmd0aCwgbV9i
dWZmZXJDaGFyYWN0ZXJzMTYpOwogICAgIGlmIChVTkxJS0VMWSghYnVmZmVyKSkKICAgICAgICAg
cmV0dXJuIGRpZE92ZXJmbG93KCk7Ci0gICAgbWVtY3B5KG1fYnVmZmVyQ2hhcmFjdGVyczE2LCBj
dXJyZW50Q2hhcmFjdGVycywgc3RhdGljX2Nhc3Q8c2l6ZV90PihtX2xlbmd0aC51bnNhZmVHZXQo
KSkgKiBzaXplb2YoVUNoYXIpKTsgLy8gVGhpcyBjYW4ndCBvdmVyZmxvdy4KKyAgICBzdGQ6Om1l
bWNweShtX2J1ZmZlckNoYXJhY3RlcnMxNiwgY3VycmVudENoYXJhY3RlcnMsIHN0YXRpY19jYXN0
PHNpemVfdD4obV9sZW5ndGgudW5zYWZlR2V0KCkpICogc2l6ZW9mKFVDaGFyKSk7IC8vIFRoaXMg
Y2FuJ3Qgb3ZlcmZsb3cuCiAgICAgCiAgICAgLy8gVXBkYXRlIHRoZSBidWlsZGVyIHN0YXRlLgog
ICAgIG1fYnVmZmVyID0gV1RGTW92ZShidWZmZXIpOwpAQCAtMjMzLDcgKzIzMyw3IEBAIHZvaWQg
U3RyaW5nQnVpbGRlcjo6cmVzZXJ2ZUNhcGFjaXR5KHVuc2lnbmVkIG5ld0NhcGFjaXR5KQogLy8g
TWFrZSAnYWRkaXRpb25hbExlbmd0aCcgYWRkaXRpb25hbCBjYXBhY2l0eSBiZSBhdmFpbGFibGUg
aW4gbV9idWZmZXIsIHVwZGF0ZSBtX3N0cmluZyAmIG1fbGVuZ3RoLAogLy8gcmV0dXJuIGEgcG9p
bnRlciB0byB0aGUgbmV3bHkgYWxsb2NhdGVkIHN0b3JhZ2UuCiAvLyBSZXR1cm5zIG51bGxwdHIg
aWYgdGhlIHNpemUgb2YgdGhlIG5ldyBidWlsZGVyIHdvdWxkIGhhdmUgb3ZlcmZsb3dlZAotdGVt
cGxhdGU8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4gQUxXQVlTX0lOTElORSBDaGFyYWN0ZXJUeXBl
KiBTdHJpbmdCdWlsZGVyOjphcHBlbmRVbmluaXRpYWxpemVkKHVuc2lnbmVkIGFkZGl0aW9uYWxM
ZW5ndGgpCit0ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPiBBTFdBWVNfSU5MSU5FIENo
YXJhY3RlclR5cGUqIFN0cmluZ0J1aWxkZXI6OmV4dGVuZEJ1ZmZlckZvckFwcGVuZGluZyh1bnNp
Z25lZCBhZGRpdGlvbmFsTGVuZ3RoKQogewogICAgIEFTU0VSVChhZGRpdGlvbmFsTGVuZ3RoKTsK
IApAQCAtMjQ0LDEwICsyNDQsMTAgQEAgdGVtcGxhdGU8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4g
QUxXQVlTX0lOTElORSBDaGFyYWN0ZXJUeXBlKiBTdHJpbmdCdWlsZGVyOjphcHAKICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAgICAgfQogCi0gICAgcmV0dXJuIGFwcGVuZFVuaW5pdGlhbGl6ZWRX
aXRob3V0T3ZlcmZsb3dDaGVjazxDaGFyYWN0ZXJUeXBlPihyZXF1aXJlZExlbmd0aCk7CisgICAg
cmV0dXJuIGV4dGVuZEJ1ZmZlckZvckFwcGVuZGluZ1dpdGhvdXRPdmVyZmxvd0NoZWNrPENoYXJh
Y3RlclR5cGU+KHJlcXVpcmVkTGVuZ3RoKTsKIH0KIAotdGVtcGxhdGU8dHlwZW5hbWUgQ2hhcmFj
dGVyVHlwZT4gQUxXQVlTX0lOTElORSBDaGFyYWN0ZXJUeXBlKiBTdHJpbmdCdWlsZGVyOjphcHBl
bmRVbmluaXRpYWxpemVkV2l0aG91dE92ZXJmbG93Q2hlY2soQ2hlY2tlZEludDMyIHJlcXVpcmVk
TGVuZ3RoKQordGVtcGxhdGU8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4gQUxXQVlTX0lOTElORSBD
aGFyYWN0ZXJUeXBlKiBTdHJpbmdCdWlsZGVyOjpleHRlbmRCdWZmZXJGb3JBcHBlbmRpbmdXaXRo
b3V0T3ZlcmZsb3dDaGVjayhDaGVja2VkSW50MzIgcmVxdWlyZWRMZW5ndGgpCiB7CiAgICAgQVNT
RVJUKCFyZXF1aXJlZExlbmd0aC5oYXNPdmVyZmxvd2VkKCkpOwogCkBAIC0yNjAsMTkgKzI2MCwx
OSBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPiBBTFdBWVNfSU5MSU5FIENoYXJh
Y3RlclR5cGUqIFN0cmluZ0J1aWxkZXI6OmFwcAogICAgICAgICByZXR1cm4gZ2V0QnVmZmVyQ2hh
cmFjdGVyczxDaGFyYWN0ZXJUeXBlPigpICsgY3VycmVudExlbmd0aDsKICAgICB9CiAKLSAgICBy
ZXR1cm4gYXBwZW5kVW5pbml0aWFsaXplZFNsb3c8Q2hhcmFjdGVyVHlwZT4ocmVxdWlyZWRMZW5n
dGgudW5zYWZlR2V0KCkpOworICAgIHJldHVybiBleHRlbmRCdWZmZXJGb3JBcHBlbmRpbmdTbG93
Q2FzZTxDaGFyYWN0ZXJUeXBlPihyZXF1aXJlZExlbmd0aC51bnNhZmVHZXQoKSk7CiB9CiAKLUxD
aGFyKiBTdHJpbmdCdWlsZGVyOjphcHBlbmRVbmluaXRpYWxpemVkOChDaGVja2VkSW50MzIgcmVx
dWlyZWRMZW5ndGgpCitMQ2hhciogU3RyaW5nQnVpbGRlcjo6ZXh0ZW5kQnVmZmVyRm9yQXBwZW5k
aW5nOChDaGVja2VkSW50MzIgcmVxdWlyZWRMZW5ndGgpCiB7CiAgICAgaWYgKFVOTElLRUxZKHJl
cXVpcmVkTGVuZ3RoLmhhc092ZXJmbG93ZWQoKSkpIHsKICAgICAgICAgZGlkT3ZlcmZsb3coKTsK
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQotICAgIHJldHVybiBhcHBlbmRVbmluaXRp
YWxpemVkV2l0aG91dE92ZXJmbG93Q2hlY2s8TENoYXI+KHJlcXVpcmVkTGVuZ3RoKTsKKyAgICBy
ZXR1cm4gZXh0ZW5kQnVmZmVyRm9yQXBwZW5kaW5nV2l0aG91dE92ZXJmbG93Q2hlY2s8TENoYXI+
KHJlcXVpcmVkTGVuZ3RoKTsKIH0KIAotVUNoYXIqIFN0cmluZ0J1aWxkZXI6OmFwcGVuZFVuaW5p
dGlhbGl6ZWQxNihDaGVja2VkSW50MzIgcmVxdWlyZWRMZW5ndGgpCitVQ2hhciogU3RyaW5nQnVp
bGRlcjo6ZXh0ZW5kQnVmZmVyRm9yQXBwZW5kaW5nMTYoQ2hlY2tlZEludDMyIHJlcXVpcmVkTGVu
Z3RoKQogewogICAgIGlmIChVTkxJS0VMWShyZXF1aXJlZExlbmd0aC5oYXNPdmVyZmxvd2VkKCkp
KSB7CiAgICAgICAgIGRpZE92ZXJmbG93KCk7CkBAIC0yOTQsMTIgKzI5NCwxMiBAQCBVQ2hhciog
U3RyaW5nQnVpbGRlcjo6YXBwZW5kVW5pbml0aWFsaXplZDE2KENoZWNrZWRJbnQzMiByZXF1aXJl
ZExlbmd0aCkKICAgICAgICAgbV9sZW5ndGggPSByZXF1aXJlZExlbmd0aC51bnNhZmVHZXQoKTsK
ICAgICAgICAgcmV0dXJuIG1fYnVmZmVyQ2hhcmFjdGVyczE2ICsgb2xkTGVuZ3RoOwogICAgIH0K
LSAgICByZXR1cm4gYXBwZW5kVW5pbml0aWFsaXplZFdpdGhvdXRPdmVyZmxvd0NoZWNrPFVDaGFy
PihyZXF1aXJlZExlbmd0aCk7CisgICAgcmV0dXJuIGV4dGVuZEJ1ZmZlckZvckFwcGVuZGluZ1dp
dGhvdXRPdmVyZmxvd0NoZWNrPFVDaGFyPihyZXF1aXJlZExlbmd0aCk7CiB9CiAKIC8vIE1ha2Ug
J3JlcXVpcmVkTGVuZ3RoJyBjYXBhY2l0eSBiZSBhdmFpbGFibGUgaW4gbV9idWZmZXIsIHVwZGF0
ZSBtX3N0cmluZyAmIG1fbGVuZ3RoLAogLy8gcmV0dXJuIGEgcG9pbnRlciB0byB0aGUgbmV3bHkg
YWxsb2NhdGVkIHN0b3JhZ2UuCi10ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPiBDaGFy
YWN0ZXJUeXBlKiBTdHJpbmdCdWlsZGVyOjphcHBlbmRVbmluaXRpYWxpemVkU2xvdyh1bnNpZ25l
ZCByZXF1aXJlZExlbmd0aCkKK3RlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+IENoYXJh
Y3RlclR5cGUqIFN0cmluZ0J1aWxkZXI6OmV4dGVuZEJ1ZmZlckZvckFwcGVuZGluZ1Nsb3dQYXRo
KHVuc2lnbmVkIHJlcXVpcmVkTGVuZ3RoKQogewogICAgIEFTU0VSVCghaGFzT3ZlcmZsb3dlZCgp
KTsKICAgICBBU1NFUlQocmVxdWlyZWRMZW5ndGgpOwpAQCAtMzM3LDcgKzMzNyw3IEBAIHZvaWQg
U3RyaW5nQnVpbGRlcjo6YXBwZW5kQ2hhcmFjdGVycyhjb25zdCBVQ2hhciogY2hhcmFjdGVycywg
dW5zaWduZWQgbGVuZ3RoKQogCiAgICAgLy8gRklYTUU6IFNob3VsZCB3ZSBvcHRpbWl6ZSBtZW1v
cnkgYnkga2VlcGluZyB0aGUgc3RyaW5nIDgtYml0IHdoZW4gYWxsIHRoZSBjaGFyYWN0ZXJzIGFy
ZSBMYXRpbi0xPwogCi0gICAgVUNoYXIqIGRlc3RpbmF0aW9uID0gYXBwZW5kVW5pbml0aWFsaXpl
ZDE2KG1fbGVuZ3RoICsgbGVuZ3RoKTsKKyAgICBVQ2hhciogZGVzdGluYXRpb24gPSBleHRlbmRC
dWZmZXJGb3JBcHBlbmRpbmcxNihtX2xlbmd0aCArIGxlbmd0aCk7CiAgICAgaWYgKFVOTElLRUxZ
KCFkZXN0aW5hdGlvbikpCiAgICAgICAgIHJldHVybjsKICAgICBzdGQ6Om1lbWNweShkZXN0aW5h
dGlvbiwgY2hhcmFjdGVycywgc3RhdGljX2Nhc3Q8c2l6ZV90PihsZW5ndGgpICogc2l6ZW9mKFVD
aGFyKSk7CkBAIC0zNTMsMjggKzM1MywyOCBAQCB2b2lkIFN0cmluZ0J1aWxkZXI6OmFwcGVuZENo
YXJhY3RlcnMoY29uc3QgTENoYXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCkKICAgICBB
U1NFUlQoY2hhcmFjdGVycyk7CiAKICAgICBpZiAobV9pczhCaXQpIHsKLSAgICAgICAgTENoYXIq
IGRlc3QgPSBhcHBlbmRVbmluaXRpYWxpemVkPExDaGFyPihsZW5ndGgpOwotICAgICAgICBpZiAo
IWRlc3QpIHsKKyAgICAgICAgTENoYXIqIGRlc3RpbmF0aW9uID0gZXh0ZW5kQnVmZmVyRm9yQXBw
ZW5kaW5nPExDaGFyPihsZW5ndGgpOworICAgICAgICBpZiAoIWRlc3RpbmF0aW9uKSB7CiAgICAg
ICAgICAgICBBU1NFUlQoaGFzT3ZlcmZsb3dlZCgpKTsKICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgfQogICAgICAgICBpZiAobGVuZ3RoID4gOCkKLSAgICAgICAgICAgIG1lbWNweShkZXN0
LCBjaGFyYWN0ZXJzLCBsZW5ndGgpOworICAgICAgICAgICAgc3RkOjptZW1jcHkoZGVzdGluYXRp
b24sIGNoYXJhY3RlcnMsIGxlbmd0aCk7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgLy8g
RklYTUU6IEhvdyBzdHJvbmcgaXMgb3VyIGV2aWRlbmNlIHRoYXQgdGhpcyBpcyBmYXN0ZXIgdGhh
biBtZW1jcHk/IFdoYXQgcGxhdGZvcm1zIGlzIHRoaXMgdHJ1ZSBmb3I/CiAgICAgICAgICAgICBj
b25zdCBMQ2hhciogZW5kID0gY2hhcmFjdGVycyArIGxlbmd0aDsKICAgICAgICAgICAgIHdoaWxl
IChjaGFyYWN0ZXJzIDwgZW5kKQotICAgICAgICAgICAgICAgICooZGVzdCsrKSA9ICooY2hhcmFj
dGVycysrKTsKKyAgICAgICAgICAgICAgICAqZGVzdGluYXRpb24rKyA9ICpjaGFyYWN0ZXJzKys7
CiAgICAgICAgIH0KICAgICB9IGVsc2UgewotICAgICAgICBVQ2hhciogZGVzdCA9IGFwcGVuZFVu
aW5pdGlhbGl6ZWQ8VUNoYXI+KGxlbmd0aCk7Ci0gICAgICAgIGlmICghZGVzdCkgeworICAgICAg
ICBVQ2hhciogZGVzdGluYXRpb24gPSBleHRlbmRCdWZmZXJGb3JBcHBlbmRpbmc8VUNoYXI+KGxl
bmd0aCk7CisgICAgICAgIGlmICghZGVzdGluYXRpb24pIHsKICAgICAgICAgICAgIEFTU0VSVCho
YXNPdmVyZmxvd2VkKCkpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgICAg
IGNvbnN0IExDaGFyKiBlbmQgPSBjaGFyYWN0ZXJzICsgbGVuZ3RoOwogICAgICAgICB3aGlsZSAo
Y2hhcmFjdGVycyA8IGVuZCkKLSAgICAgICAgICAgICooZGVzdCsrKSA9ICooY2hhcmFjdGVycysr
KTsKKyAgICAgICAgICAgICpkZXN0aW5hdGlvbisrID0gKmNoYXJhY3RlcnMrKzsKICAgICB9CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nQnVpbGRlci5oIGIvU291
cmNlL1dURi93dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmgKaW5kZXggZTM5N2E1NGIyYTU3YWEyN2Zl
NTUyNDdlZmIzMjE1NTgzMDQ3YWNhZS4uMGUxZmMzOWYzMzkwMTFiYjVjNTdkNzAzZDllN2FlZDI2
NjE2NjI5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmgK
KysrIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmgKQEAgLTM1NywxMSArMzU3
LDExIEBAIHByaXZhdGU6CiAgICAgdm9pZCBhbGxvY2F0ZUJ1ZmZlcihjb25zdCBVQ2hhciogY3Vy
cmVudENoYXJhY3RlcnMsIHVuc2lnbmVkIHJlcXVpcmVkTGVuZ3RoKTsKICAgICB2b2lkIGFsbG9j
YXRlQnVmZmVyVXBDb252ZXJ0KGNvbnN0IExDaGFyKiBjdXJyZW50Q2hhcmFjdGVycywgdW5zaWdu
ZWQgcmVxdWlyZWRMZW5ndGgpOwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+
IHZvaWQgcmVhbGxvY2F0ZUJ1ZmZlcih1bnNpZ25lZCByZXF1aXJlZExlbmd0aCk7Ci0gICAgdGVt
cGxhdGU8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4gQUxXQVlTX0lOTElORSBDaGFyYWN0ZXJUeXBl
KiBhcHBlbmRVbmluaXRpYWxpemVkKHVuc2lnbmVkIGFkZGl0aW9uYWxMZW5ndGgpOwotICAgIHRl
bXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+IEFMV0FZU19JTkxJTkUgQ2hhcmFjdGVyVHlw
ZSogYXBwZW5kVW5pbml0aWFsaXplZFdpdGhvdXRPdmVyZmxvd0NoZWNrKENoZWNrZWRJbnQzMiBy
ZXF1aXJlZExlbmd0aCk7Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4gQ2hh
cmFjdGVyVHlwZSogYXBwZW5kVW5pbml0aWFsaXplZFNsb3codW5zaWduZWQgcmVxdWlyZWRMZW5n
dGgpOwotICAgIFdURl9FWFBPUlRfUFJJVkFURSBMQ2hhciogYXBwZW5kVW5pbml0aWFsaXplZDgo
Q2hlY2tlZEludDMyIHJlcXVpcmVkTGVuZ3RoKTsKLSAgICBXVEZfRVhQT1JUX1BSSVZBVEUgVUNo
YXIqIGFwcGVuZFVuaW5pdGlhbGl6ZWQxNihDaGVja2VkSW50MzIgcmVxdWlyZWRMZW5ndGgpOwor
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+IEFMV0FZU19JTkxJTkUgQ2hhcmFj
dGVyVHlwZSogZXh0ZW5kQnVmZmVyRm9yQXBwZW5kaW5nKHVuc2lnbmVkIGFkZGl0aW9uYWxMZW5n
dGgpOworICAgIHRlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+IEFMV0FZU19JTkxJTkUg
Q2hhcmFjdGVyVHlwZSogZXh0ZW5kQnVmZmVyRm9yQXBwZW5kaW5nV2l0aG91dE92ZXJmbG93Q2hl
Y2soQ2hlY2tlZEludDMyIHJlcXVpcmVkTGVuZ3RoKTsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBD
aGFyYWN0ZXJUeXBlPiBDaGFyYWN0ZXJUeXBlKiBleHRlbmRCdWZmZXJGb3JBcHBlbmRpbmdTbG93
Q2FzZSh1bnNpZ25lZCByZXF1aXJlZExlbmd0aCk7CisgICAgV1RGX0VYUE9SVF9QUklWQVRFIExD
aGFyKiBleHRlbmRCdWZmZXJGb3JBcHBlbmRpbmc4KENoZWNrZWRJbnQzMiByZXF1aXJlZExlbmd0
aCk7CisgICAgV1RGX0VYUE9SVF9QUklWQVRFIFVDaGFyKiBleHRlbmRCdWZmZXJGb3JBcHBlbmRp
bmcxNihDaGVja2VkSW50MzIgcmVxdWlyZWRMZW5ndGgpOwogCiAgICAgdGVtcGxhdGU8dHlwZW5h
bWUgQ2hhcmFjdGVyVHlwZT4gQUxXQVlTX0lOTElORSBDaGFyYWN0ZXJUeXBlKiBnZXRCdWZmZXJD
aGFyYWN0ZXJzKCk7CiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgcmVpZnlTdHJpbmcoKSBj
b25zdDsKQEAgLTQwMSwxNCArNDAxLDE0IEBAIHZvaWQgU3RyaW5nQnVpbGRlcjo6YXBwZW5kRnJv
bUFkYXB0ZXJzKFN0cmluZ1R5cGVBZGFwdGVycy4uLiBhZGFwdGVycykKIHsKICAgICBhdXRvIHJl
cXVpcmVkTGVuZ3RoID0gY2hlY2tlZFN1bTxpbnQzMl90PihtX2xlbmd0aCwgYWRhcHRlcnMubGVu
Z3RoKCkuLi4pOwogICAgIGlmIChtX2lzOEJpdCAmJiBhcmU4Qml0KGFkYXB0ZXJzLi4uKSkgewot
ICAgICAgICBMQ2hhciogZGVzdGluYXRpb24gPSBhcHBlbmRVbmluaXRpYWxpemVkOChyZXF1aXJl
ZExlbmd0aCk7CisgICAgICAgIExDaGFyKiBkZXN0aW5hdGlvbiA9IGV4dGVuZEJ1ZmZlckZvckFw
cGVuZGluZzgocmVxdWlyZWRMZW5ndGgpOwogICAgICAgICBpZiAoIWRlc3RpbmF0aW9uKSB7CiAg
ICAgICAgICAgICBBU1NFUlQoaGFzT3ZlcmZsb3dlZCgpKTsKICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgfQogICAgICAgICBzdHJpbmdUeXBlQWRhcHRlckFjY3VtdWxhdG9yKGRlc3RpbmF0
aW9uLCBhZGFwdGVycy4uLik7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgVUNoYXIqIGRlc3RpbmF0
aW9uID0gYXBwZW5kVW5pbml0aWFsaXplZDE2KHJlcXVpcmVkTGVuZ3RoKTsKKyAgICAgICAgVUNo
YXIqIGRlc3RpbmF0aW9uID0gZXh0ZW5kQnVmZmVyRm9yQXBwZW5kaW5nMTYocmVxdWlyZWRMZW5n
dGgpOwogICAgICAgICBpZiAoIWRlc3RpbmF0aW9uKSB7CiAgICAgICAgICAgICBBU1NFUlQoaGFz
T3ZlcmZsb3dlZCgpKTsKICAgICAgICAgICAgIHJldHVybjsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>376972</attachid>
            <date>2019-08-21 20:29:20 -0700</date>
            <delta_ts>2019-08-22 09:50:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201020-20190821202916.patch</filename>
            <type>text/plain</type>
            <size>10068</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4OTkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDgzOWM2NWMwYWNkYTBiMjlmNTNiNWM1
OGQ2YjYzZTZjMjM5MmI2ZGQuLjFkNjgxZjg5ZmUyNzYzMDc2N2Y0NzQ5Yjk2NTNkYTczYzQxMWQ0
ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTktMDgtMjEgIERhcmluIEFkbGVyICA8ZGFyaW5A
YXBwbGUuY29tPgorCisgICAgICAgIFJlbmFtZSBTdHJpbmdCdWlsZGVyIGZ1bmN0aW9ucyB0byBh
dm9pZCB1bmNsZWFyICJhcHBlbmQgdW5pbml0aWFsaXplZCIgdGVybWlub2xvZ3kKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTAyMAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd3RmL3RleHQvU3RyaW5n
QnVpbGRlci5jcHA6CisgICAgICAgIChXVEY6OlN0cmluZ0J1aWxkZXI6OmFsbG9jYXRlQnVmZmVy
KTogVXNlIHN0ZDo6bWVtY3B5IGluc3RlYWQgb2YganVzdCBtZW1jcHkuCisgICAgICAgIChXVEY6
OlN0cmluZ0J1aWxkZXI6OmV4dGVuZEJ1ZmZlckZvckFwcGVuZGluZyk6IFJlbmFtZWQuCisgICAg
ICAgIChXVEY6OlN0cmluZ0J1aWxkZXI6OmV4dGVuZEJ1ZmZlckZvckFwcGVuZGluZ1dpdGhvdXRP
dmVyZmxvd0NoZWNrKTogRGl0dG8uCisgICAgICAgIChXVEY6OlN0cmluZ0J1aWxkZXI6OmV4dGVu
ZEJ1ZmZlckZvckFwcGVuZGluZzgpOiBEaXR0by4KKyAgICAgICAgKFdURjo6U3RyaW5nQnVpbGRl
cjo6ZXh0ZW5kQnVmZmVyRm9yQXBwZW5kaW5nMTYpOiBEaXR0by4KKyAgICAgICAgKFdURjo6U3Ry
aW5nQnVpbGRlcjo6ZXh0ZW5kQnVmZmVyRm9yQXBwZW5kaW5nU2xvd1BhdGgpOiBEaXR0by4KKyAg
ICAgICAgKFdURjo6U3RyaW5nQnVpbGRlcjo6YXBwZW5kQ2hhcmFjdGVycyk6IFVwZGF0ZWQgZm9y
IG5ldyBuYW1lcy4KKyAgICAgICAgKiB3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg6IFVwZGF0ZWQg
Zm9yIG5ldyBuYW1lcy4KKwogMjAxOS0wOC0yMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgogCiAgICAgICAgIHJlZ2lzdHJhYmxlRG9tYWluc1RvUmVtb3ZlV2Vic2l0ZURhdGFGb3Io
KSBkb2VzIG5vdCBuZWVkIHRvIHJldHVybiBhIEhhc2hNYXAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvd3RmL3RleHQvU3RyaW5nQnVpbGRlci5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmlu
Z0J1aWxkZXIuY3BwCmluZGV4IGZkNTk5ODFlZWY3N2ZmYWYwODNiNGQ1ODY2OWZmNWI3M2NhNGU3
ZTguLmNlZGIwNTU4NzY1NzJkNzhmYzU0Y2ZkNTI1ZDgxMGZmMDE3NGYxOGYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dURi93
dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmNwcApAQCAtMTEzLDcgKzExMyw3IEBAIHZvaWQgU3RyaW5n
QnVpbGRlcjo6YWxsb2NhdGVCdWZmZXIoY29uc3QgTENoYXIqIGN1cnJlbnRDaGFyYWN0ZXJzLCB1
bnNpZ25lZCByZXF1CiAgICAgYXV0byBidWZmZXIgPSBTdHJpbmdJbXBsOjp0cnlDcmVhdGVVbmlu
aXRpYWxpemVkKHJlcXVpcmVkTGVuZ3RoLCBtX2J1ZmZlckNoYXJhY3RlcnM4KTsKICAgICBpZiAo
VU5MSUtFTFkoIWJ1ZmZlcikpCiAgICAgICAgIHJldHVybiBkaWRPdmVyZmxvdygpOwotICAgIG1l
bWNweShtX2J1ZmZlckNoYXJhY3RlcnM4LCBjdXJyZW50Q2hhcmFjdGVycywgc3RhdGljX2Nhc3Q8
c2l6ZV90PihtX2xlbmd0aC51bnNhZmVHZXQoKSkgKiBzaXplb2YoTENoYXIpKTsgLy8gVGhpcyBj
YW4ndCBvdmVyZmxvdy4KKyAgICBzdGQ6Om1lbWNweShtX2J1ZmZlckNoYXJhY3RlcnM4LCBjdXJy
ZW50Q2hhcmFjdGVycywgbV9sZW5ndGgudW5zYWZlR2V0KCkpOwogICAgIAogICAgIC8vIFVwZGF0
ZSB0aGUgYnVpbGRlciBzdGF0ZS4KICAgICBtX2J1ZmZlciA9IFdURk1vdmUoYnVmZmVyKTsKQEAg
LTEzMSw3ICsxMzEsNyBAQCB2b2lkIFN0cmluZ0J1aWxkZXI6OmFsbG9jYXRlQnVmZmVyKGNvbnN0
IFVDaGFyKiBjdXJyZW50Q2hhcmFjdGVycywgdW5zaWduZWQgcmVxdQogICAgIGF1dG8gYnVmZmVy
ID0gU3RyaW5nSW1wbDo6dHJ5Q3JlYXRlVW5pbml0aWFsaXplZChyZXF1aXJlZExlbmd0aCwgbV9i
dWZmZXJDaGFyYWN0ZXJzMTYpOwogICAgIGlmIChVTkxJS0VMWSghYnVmZmVyKSkKICAgICAgICAg
cmV0dXJuIGRpZE92ZXJmbG93KCk7Ci0gICAgbWVtY3B5KG1fYnVmZmVyQ2hhcmFjdGVyczE2LCBj
dXJyZW50Q2hhcmFjdGVycywgc3RhdGljX2Nhc3Q8c2l6ZV90PihtX2xlbmd0aC51bnNhZmVHZXQo
KSkgKiBzaXplb2YoVUNoYXIpKTsgLy8gVGhpcyBjYW4ndCBvdmVyZmxvdy4KKyAgICBzdGQ6Om1l
bWNweShtX2J1ZmZlckNoYXJhY3RlcnMxNiwgY3VycmVudENoYXJhY3RlcnMsIHN0YXRpY19jYXN0
PHNpemVfdD4obV9sZW5ndGgudW5zYWZlR2V0KCkpICogc2l6ZW9mKFVDaGFyKSk7IC8vIFRoaXMg
Y2FuJ3Qgb3ZlcmZsb3cuCiAgICAgCiAgICAgLy8gVXBkYXRlIHRoZSBidWlsZGVyIHN0YXRlLgog
ICAgIG1fYnVmZmVyID0gV1RGTW92ZShidWZmZXIpOwpAQCAtMjMzLDcgKzIzMyw3IEBAIHZvaWQg
U3RyaW5nQnVpbGRlcjo6cmVzZXJ2ZUNhcGFjaXR5KHVuc2lnbmVkIG5ld0NhcGFjaXR5KQogLy8g
TWFrZSAnYWRkaXRpb25hbExlbmd0aCcgYWRkaXRpb25hbCBjYXBhY2l0eSBiZSBhdmFpbGFibGUg
aW4gbV9idWZmZXIsIHVwZGF0ZSBtX3N0cmluZyAmIG1fbGVuZ3RoLAogLy8gcmV0dXJuIGEgcG9p
bnRlciB0byB0aGUgbmV3bHkgYWxsb2NhdGVkIHN0b3JhZ2UuCiAvLyBSZXR1cm5zIG51bGxwdHIg
aWYgdGhlIHNpemUgb2YgdGhlIG5ldyBidWlsZGVyIHdvdWxkIGhhdmUgb3ZlcmZsb3dlZAotdGVt
cGxhdGU8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4gQUxXQVlTX0lOTElORSBDaGFyYWN0ZXJUeXBl
KiBTdHJpbmdCdWlsZGVyOjphcHBlbmRVbmluaXRpYWxpemVkKHVuc2lnbmVkIGFkZGl0aW9uYWxM
ZW5ndGgpCit0ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPiBBTFdBWVNfSU5MSU5FIENo
YXJhY3RlclR5cGUqIFN0cmluZ0J1aWxkZXI6OmV4dGVuZEJ1ZmZlckZvckFwcGVuZGluZyh1bnNp
Z25lZCBhZGRpdGlvbmFsTGVuZ3RoKQogewogICAgIEFTU0VSVChhZGRpdGlvbmFsTGVuZ3RoKTsK
IApAQCAtMjQ0LDEwICsyNDQsMTAgQEAgdGVtcGxhdGU8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4g
QUxXQVlTX0lOTElORSBDaGFyYWN0ZXJUeXBlKiBTdHJpbmdCdWlsZGVyOjphcHAKICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAgICAgfQogCi0gICAgcmV0dXJuIGFwcGVuZFVuaW5pdGlhbGl6ZWRX
aXRob3V0T3ZlcmZsb3dDaGVjazxDaGFyYWN0ZXJUeXBlPihyZXF1aXJlZExlbmd0aCk7CisgICAg
cmV0dXJuIGV4dGVuZEJ1ZmZlckZvckFwcGVuZGluZ1dpdGhvdXRPdmVyZmxvd0NoZWNrPENoYXJh
Y3RlclR5cGU+KHJlcXVpcmVkTGVuZ3RoKTsKIH0KIAotdGVtcGxhdGU8dHlwZW5hbWUgQ2hhcmFj
dGVyVHlwZT4gQUxXQVlTX0lOTElORSBDaGFyYWN0ZXJUeXBlKiBTdHJpbmdCdWlsZGVyOjphcHBl
bmRVbmluaXRpYWxpemVkV2l0aG91dE92ZXJmbG93Q2hlY2soQ2hlY2tlZEludDMyIHJlcXVpcmVk
TGVuZ3RoKQordGVtcGxhdGU8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4gQUxXQVlTX0lOTElORSBD
aGFyYWN0ZXJUeXBlKiBTdHJpbmdCdWlsZGVyOjpleHRlbmRCdWZmZXJGb3JBcHBlbmRpbmdXaXRo
b3V0T3ZlcmZsb3dDaGVjayhDaGVja2VkSW50MzIgcmVxdWlyZWRMZW5ndGgpCiB7CiAgICAgQVNT
RVJUKCFyZXF1aXJlZExlbmd0aC5oYXNPdmVyZmxvd2VkKCkpOwogCkBAIC0yNjAsMTkgKzI2MCwx
OSBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPiBBTFdBWVNfSU5MSU5FIENoYXJh
Y3RlclR5cGUqIFN0cmluZ0J1aWxkZXI6OmFwcAogICAgICAgICByZXR1cm4gZ2V0QnVmZmVyQ2hh
cmFjdGVyczxDaGFyYWN0ZXJUeXBlPigpICsgY3VycmVudExlbmd0aDsKICAgICB9CiAKLSAgICBy
ZXR1cm4gYXBwZW5kVW5pbml0aWFsaXplZFNsb3c8Q2hhcmFjdGVyVHlwZT4ocmVxdWlyZWRMZW5n
dGgudW5zYWZlR2V0KCkpOworICAgIHJldHVybiBleHRlbmRCdWZmZXJGb3JBcHBlbmRpbmdTbG93
Q2FzZTxDaGFyYWN0ZXJUeXBlPihyZXF1aXJlZExlbmd0aC51bnNhZmVHZXQoKSk7CiB9CiAKLUxD
aGFyKiBTdHJpbmdCdWlsZGVyOjphcHBlbmRVbmluaXRpYWxpemVkOChDaGVja2VkSW50MzIgcmVx
dWlyZWRMZW5ndGgpCitMQ2hhciogU3RyaW5nQnVpbGRlcjo6ZXh0ZW5kQnVmZmVyRm9yQXBwZW5k
aW5nOChDaGVja2VkSW50MzIgcmVxdWlyZWRMZW5ndGgpCiB7CiAgICAgaWYgKFVOTElLRUxZKHJl
cXVpcmVkTGVuZ3RoLmhhc092ZXJmbG93ZWQoKSkpIHsKICAgICAgICAgZGlkT3ZlcmZsb3coKTsK
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQotICAgIHJldHVybiBhcHBlbmRVbmluaXRp
YWxpemVkV2l0aG91dE92ZXJmbG93Q2hlY2s8TENoYXI+KHJlcXVpcmVkTGVuZ3RoKTsKKyAgICBy
ZXR1cm4gZXh0ZW5kQnVmZmVyRm9yQXBwZW5kaW5nV2l0aG91dE92ZXJmbG93Q2hlY2s8TENoYXI+
KHJlcXVpcmVkTGVuZ3RoKTsKIH0KIAotVUNoYXIqIFN0cmluZ0J1aWxkZXI6OmFwcGVuZFVuaW5p
dGlhbGl6ZWQxNihDaGVja2VkSW50MzIgcmVxdWlyZWRMZW5ndGgpCitVQ2hhciogU3RyaW5nQnVp
bGRlcjo6ZXh0ZW5kQnVmZmVyRm9yQXBwZW5kaW5nMTYoQ2hlY2tlZEludDMyIHJlcXVpcmVkTGVu
Z3RoKQogewogICAgIGlmIChVTkxJS0VMWShyZXF1aXJlZExlbmd0aC5oYXNPdmVyZmxvd2VkKCkp
KSB7CiAgICAgICAgIGRpZE92ZXJmbG93KCk7CkBAIC0yOTQsMTIgKzI5NCwxMiBAQCBVQ2hhciog
U3RyaW5nQnVpbGRlcjo6YXBwZW5kVW5pbml0aWFsaXplZDE2KENoZWNrZWRJbnQzMiByZXF1aXJl
ZExlbmd0aCkKICAgICAgICAgbV9sZW5ndGggPSByZXF1aXJlZExlbmd0aC51bnNhZmVHZXQoKTsK
ICAgICAgICAgcmV0dXJuIG1fYnVmZmVyQ2hhcmFjdGVyczE2ICsgb2xkTGVuZ3RoOwogICAgIH0K
LSAgICByZXR1cm4gYXBwZW5kVW5pbml0aWFsaXplZFdpdGhvdXRPdmVyZmxvd0NoZWNrPFVDaGFy
PihyZXF1aXJlZExlbmd0aCk7CisgICAgcmV0dXJuIGV4dGVuZEJ1ZmZlckZvckFwcGVuZGluZ1dp
dGhvdXRPdmVyZmxvd0NoZWNrPFVDaGFyPihyZXF1aXJlZExlbmd0aCk7CiB9CiAKIC8vIE1ha2Ug
J3JlcXVpcmVkTGVuZ3RoJyBjYXBhY2l0eSBiZSBhdmFpbGFibGUgaW4gbV9idWZmZXIsIHVwZGF0
ZSBtX3N0cmluZyAmIG1fbGVuZ3RoLAogLy8gcmV0dXJuIGEgcG9pbnRlciB0byB0aGUgbmV3bHkg
YWxsb2NhdGVkIHN0b3JhZ2UuCi10ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPiBDaGFy
YWN0ZXJUeXBlKiBTdHJpbmdCdWlsZGVyOjphcHBlbmRVbmluaXRpYWxpemVkU2xvdyh1bnNpZ25l
ZCByZXF1aXJlZExlbmd0aCkKK3RlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+IENoYXJh
Y3RlclR5cGUqIFN0cmluZ0J1aWxkZXI6OmV4dGVuZEJ1ZmZlckZvckFwcGVuZGluZ1Nsb3dDYXNl
KHVuc2lnbmVkIHJlcXVpcmVkTGVuZ3RoKQogewogICAgIEFTU0VSVCghaGFzT3ZlcmZsb3dlZCgp
KTsKICAgICBBU1NFUlQocmVxdWlyZWRMZW5ndGgpOwpAQCAtMzM3LDcgKzMzNyw3IEBAIHZvaWQg
U3RyaW5nQnVpbGRlcjo6YXBwZW5kQ2hhcmFjdGVycyhjb25zdCBVQ2hhciogY2hhcmFjdGVycywg
dW5zaWduZWQgbGVuZ3RoKQogCiAgICAgLy8gRklYTUU6IFNob3VsZCB3ZSBvcHRpbWl6ZSBtZW1v
cnkgYnkga2VlcGluZyB0aGUgc3RyaW5nIDgtYml0IHdoZW4gYWxsIHRoZSBjaGFyYWN0ZXJzIGFy
ZSBMYXRpbi0xPwogCi0gICAgVUNoYXIqIGRlc3RpbmF0aW9uID0gYXBwZW5kVW5pbml0aWFsaXpl
ZDE2KG1fbGVuZ3RoICsgbGVuZ3RoKTsKKyAgICBVQ2hhciogZGVzdGluYXRpb24gPSBleHRlbmRC
dWZmZXJGb3JBcHBlbmRpbmcxNihtX2xlbmd0aCArIGxlbmd0aCk7CiAgICAgaWYgKFVOTElLRUxZ
KCFkZXN0aW5hdGlvbikpCiAgICAgICAgIHJldHVybjsKICAgICBzdGQ6Om1lbWNweShkZXN0aW5h
dGlvbiwgY2hhcmFjdGVycywgc3RhdGljX2Nhc3Q8c2l6ZV90PihsZW5ndGgpICogc2l6ZW9mKFVD
aGFyKSk7CkBAIC0zNTMsMjggKzM1MywyOCBAQCB2b2lkIFN0cmluZ0J1aWxkZXI6OmFwcGVuZENo
YXJhY3RlcnMoY29uc3QgTENoYXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCkKICAgICBB
U1NFUlQoY2hhcmFjdGVycyk7CiAKICAgICBpZiAobV9pczhCaXQpIHsKLSAgICAgICAgTENoYXIq
IGRlc3QgPSBhcHBlbmRVbmluaXRpYWxpemVkPExDaGFyPihsZW5ndGgpOwotICAgICAgICBpZiAo
IWRlc3QpIHsKKyAgICAgICAgTENoYXIqIGRlc3RpbmF0aW9uID0gZXh0ZW5kQnVmZmVyRm9yQXBw
ZW5kaW5nPExDaGFyPihsZW5ndGgpOworICAgICAgICBpZiAoIWRlc3RpbmF0aW9uKSB7CiAgICAg
ICAgICAgICBBU1NFUlQoaGFzT3ZlcmZsb3dlZCgpKTsKICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgfQogICAgICAgICBpZiAobGVuZ3RoID4gOCkKLSAgICAgICAgICAgIG1lbWNweShkZXN0
LCBjaGFyYWN0ZXJzLCBsZW5ndGgpOworICAgICAgICAgICAgc3RkOjptZW1jcHkoZGVzdGluYXRp
b24sIGNoYXJhY3RlcnMsIGxlbmd0aCk7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgLy8g
RklYTUU6IEhvdyBzdHJvbmcgaXMgb3VyIGV2aWRlbmNlIHRoYXQgdGhpcyBpcyBmYXN0ZXIgdGhh
biBtZW1jcHk/IFdoYXQgcGxhdGZvcm1zIGlzIHRoaXMgdHJ1ZSBmb3I/CiAgICAgICAgICAgICBj
b25zdCBMQ2hhciogZW5kID0gY2hhcmFjdGVycyArIGxlbmd0aDsKICAgICAgICAgICAgIHdoaWxl
IChjaGFyYWN0ZXJzIDwgZW5kKQotICAgICAgICAgICAgICAgICooZGVzdCsrKSA9ICooY2hhcmFj
dGVycysrKTsKKyAgICAgICAgICAgICAgICAqZGVzdGluYXRpb24rKyA9ICpjaGFyYWN0ZXJzKys7
CiAgICAgICAgIH0KICAgICB9IGVsc2UgewotICAgICAgICBVQ2hhciogZGVzdCA9IGFwcGVuZFVu
aW5pdGlhbGl6ZWQ8VUNoYXI+KGxlbmd0aCk7Ci0gICAgICAgIGlmICghZGVzdCkgeworICAgICAg
ICBVQ2hhciogZGVzdGluYXRpb24gPSBleHRlbmRCdWZmZXJGb3JBcHBlbmRpbmc8VUNoYXI+KGxl
bmd0aCk7CisgICAgICAgIGlmICghZGVzdGluYXRpb24pIHsKICAgICAgICAgICAgIEFTU0VSVCho
YXNPdmVyZmxvd2VkKCkpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgICAg
IGNvbnN0IExDaGFyKiBlbmQgPSBjaGFyYWN0ZXJzICsgbGVuZ3RoOwogICAgICAgICB3aGlsZSAo
Y2hhcmFjdGVycyA8IGVuZCkKLSAgICAgICAgICAgICooZGVzdCsrKSA9ICooY2hhcmFjdGVycysr
KTsKKyAgICAgICAgICAgICpkZXN0aW5hdGlvbisrID0gKmNoYXJhY3RlcnMrKzsKICAgICB9CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nQnVpbGRlci5oIGIvU291
cmNlL1dURi93dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmgKaW5kZXggZTM5N2E1NGIyYTU3YWEyN2Zl
NTUyNDdlZmIzMjE1NTgzMDQ3YWNhZS4uMGUxZmMzOWYzMzkwMTFiYjVjNTdkNzAzZDllN2FlZDI2
NjE2NjI5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmgK
KysrIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmgKQEAgLTM1NywxMSArMzU3
LDExIEBAIHByaXZhdGU6CiAgICAgdm9pZCBhbGxvY2F0ZUJ1ZmZlcihjb25zdCBVQ2hhciogY3Vy
cmVudENoYXJhY3RlcnMsIHVuc2lnbmVkIHJlcXVpcmVkTGVuZ3RoKTsKICAgICB2b2lkIGFsbG9j
YXRlQnVmZmVyVXBDb252ZXJ0KGNvbnN0IExDaGFyKiBjdXJyZW50Q2hhcmFjdGVycywgdW5zaWdu
ZWQgcmVxdWlyZWRMZW5ndGgpOwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+
IHZvaWQgcmVhbGxvY2F0ZUJ1ZmZlcih1bnNpZ25lZCByZXF1aXJlZExlbmd0aCk7Ci0gICAgdGVt
cGxhdGU8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4gQUxXQVlTX0lOTElORSBDaGFyYWN0ZXJUeXBl
KiBhcHBlbmRVbmluaXRpYWxpemVkKHVuc2lnbmVkIGFkZGl0aW9uYWxMZW5ndGgpOwotICAgIHRl
bXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+IEFMV0FZU19JTkxJTkUgQ2hhcmFjdGVyVHlw
ZSogYXBwZW5kVW5pbml0aWFsaXplZFdpdGhvdXRPdmVyZmxvd0NoZWNrKENoZWNrZWRJbnQzMiBy
ZXF1aXJlZExlbmd0aCk7Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4gQ2hh
cmFjdGVyVHlwZSogYXBwZW5kVW5pbml0aWFsaXplZFNsb3codW5zaWduZWQgcmVxdWlyZWRMZW5n
dGgpOwotICAgIFdURl9FWFBPUlRfUFJJVkFURSBMQ2hhciogYXBwZW5kVW5pbml0aWFsaXplZDgo
Q2hlY2tlZEludDMyIHJlcXVpcmVkTGVuZ3RoKTsKLSAgICBXVEZfRVhQT1JUX1BSSVZBVEUgVUNo
YXIqIGFwcGVuZFVuaW5pdGlhbGl6ZWQxNihDaGVja2VkSW50MzIgcmVxdWlyZWRMZW5ndGgpOwor
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+IEFMV0FZU19JTkxJTkUgQ2hhcmFj
dGVyVHlwZSogZXh0ZW5kQnVmZmVyRm9yQXBwZW5kaW5nKHVuc2lnbmVkIGFkZGl0aW9uYWxMZW5n
dGgpOworICAgIHRlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+IEFMV0FZU19JTkxJTkUg
Q2hhcmFjdGVyVHlwZSogZXh0ZW5kQnVmZmVyRm9yQXBwZW5kaW5nV2l0aG91dE92ZXJmbG93Q2hl
Y2soQ2hlY2tlZEludDMyIHJlcXVpcmVkTGVuZ3RoKTsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBD
aGFyYWN0ZXJUeXBlPiBDaGFyYWN0ZXJUeXBlKiBleHRlbmRCdWZmZXJGb3JBcHBlbmRpbmdTbG93
Q2FzZSh1bnNpZ25lZCByZXF1aXJlZExlbmd0aCk7CisgICAgV1RGX0VYUE9SVF9QUklWQVRFIExD
aGFyKiBleHRlbmRCdWZmZXJGb3JBcHBlbmRpbmc4KENoZWNrZWRJbnQzMiByZXF1aXJlZExlbmd0
aCk7CisgICAgV1RGX0VYUE9SVF9QUklWQVRFIFVDaGFyKiBleHRlbmRCdWZmZXJGb3JBcHBlbmRp
bmcxNihDaGVja2VkSW50MzIgcmVxdWlyZWRMZW5ndGgpOwogCiAgICAgdGVtcGxhdGU8dHlwZW5h
bWUgQ2hhcmFjdGVyVHlwZT4gQUxXQVlTX0lOTElORSBDaGFyYWN0ZXJUeXBlKiBnZXRCdWZmZXJD
aGFyYWN0ZXJzKCk7CiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgcmVpZnlTdHJpbmcoKSBj
b25zdDsKQEAgLTQwMSwxNCArNDAxLDE0IEBAIHZvaWQgU3RyaW5nQnVpbGRlcjo6YXBwZW5kRnJv
bUFkYXB0ZXJzKFN0cmluZ1R5cGVBZGFwdGVycy4uLiBhZGFwdGVycykKIHsKICAgICBhdXRvIHJl
cXVpcmVkTGVuZ3RoID0gY2hlY2tlZFN1bTxpbnQzMl90PihtX2xlbmd0aCwgYWRhcHRlcnMubGVu
Z3RoKCkuLi4pOwogICAgIGlmIChtX2lzOEJpdCAmJiBhcmU4Qml0KGFkYXB0ZXJzLi4uKSkgewot
ICAgICAgICBMQ2hhciogZGVzdGluYXRpb24gPSBhcHBlbmRVbmluaXRpYWxpemVkOChyZXF1aXJl
ZExlbmd0aCk7CisgICAgICAgIExDaGFyKiBkZXN0aW5hdGlvbiA9IGV4dGVuZEJ1ZmZlckZvckFw
cGVuZGluZzgocmVxdWlyZWRMZW5ndGgpOwogICAgICAgICBpZiAoIWRlc3RpbmF0aW9uKSB7CiAg
ICAgICAgICAgICBBU1NFUlQoaGFzT3ZlcmZsb3dlZCgpKTsKICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgfQogICAgICAgICBzdHJpbmdUeXBlQWRhcHRlckFjY3VtdWxhdG9yKGRlc3RpbmF0
aW9uLCBhZGFwdGVycy4uLik7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgVUNoYXIqIGRlc3RpbmF0
aW9uID0gYXBwZW5kVW5pbml0aWFsaXplZDE2KHJlcXVpcmVkTGVuZ3RoKTsKKyAgICAgICAgVUNo
YXIqIGRlc3RpbmF0aW9uID0gZXh0ZW5kQnVmZmVyRm9yQXBwZW5kaW5nMTYocmVxdWlyZWRMZW5n
dGgpOwogICAgICAgICBpZiAoIWRlc3RpbmF0aW9uKSB7CiAgICAgICAgICAgICBBU1NFUlQoaGFz
T3ZlcmZsb3dlZCgpKTsKICAgICAgICAgICAgIHJldHVybjsK
</data>

          </attachment>
      

    </bug>

</bugzilla>