<?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>195398</bug_id>
          
          <creation_ts>2019-03-06 20:55:32 -0800</creation_ts>
          <short_desc>CompactVariableMap::Handle&apos;s copy operator= leaks the previous data</short_desc>
          <delta_ts>2019-03-08 12:58:03 -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>JavaScriptCore</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="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gskachkov</cc>
    
    <cc>guijemont</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1513382</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-03-06 20:55:32 -0800</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513390</commentid>
    <comment_count>1</comment_count>
      <attachid>363844</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-03-06 21:07:02 -0800</bug_when>
    <thetext>Created attachment 363844
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513392</commentid>
    <comment_count>2</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-03-06 21:07:50 -0800</bug_when>
    <thetext>&lt;rdar://problem/48153216&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513393</commentid>
    <comment_count>3</comment_count>
      <attachid>363844</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-03-06 21:08:15 -0800</bug_when>
    <thetext>Comment on attachment 363844
patch

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

&gt; Source/JavaScriptCore/parser/VariableEnvironment.cpp:-203
&gt; -    m_map = other.m_map;
&gt; -    m_environment = other.m_environment;

The prior bug was here. We needed to deref the hash table entry for m_environment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513394</commentid>
    <comment_count>4</comment_count>
      <attachid>363844</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-03-06 21:08:44 -0800</bug_when>
    <thetext>Comment on attachment 363844
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513395</commentid>
    <comment_count>5</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-03-06 21:10:18 -0800</bug_when>
    <thetext>Attachment 363844 did not pass style-queue:


ERROR: Source/JavaScriptCore/parser/VariableEnvironment.h:217:  The parameter name &quot;environment&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/VariableEnvironment.h:217:  The parameter name &quot;map&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 2 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513401</commentid>
    <comment_count>6</comment_count>
      <attachid>363844</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-03-06 21:38:52 -0800</bug_when>
    <thetext>Comment on attachment 363844
patch

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

&gt; Source/JavaScriptCore/parser/VariableEnvironment.h:222
&gt;          Handle(Handle&amp;&amp; other)
&gt; -            : m_environment(other.m_environment)
&gt; -            , m_map(WTFMove(other.m_map))
&gt;          {
&gt; -            RELEASE_ASSERT(!!m_environment == !!m_map);
&gt; -            ASSERT(!other.m_map);
&gt; -            other.m_environment = nullptr;
&gt; +            swap(other);
&gt; +        }

I&apos;ve just investigated more, and, the following way is the another possible change.

1. defining move constructor too, as like the old one (move, and assign null to the original one)
2. defining move assignment operator as move-and-swap.

Handle&amp; operator=(Handle&amp;&amp; other)
{
    Handle handle(WTFMove(other));
    swap(handle);
    return *this;
}

This would be better since (1) we can nullify the original `other`, and (2) move-and-swap idiom is well aligned to copy-and-swap in copy assignment operator.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513402</commentid>
    <comment_count>7</comment_count>
      <attachid>363844</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-03-06 21:55:45 -0800</bug_when>
    <thetext>Comment on attachment 363844
patch

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

&gt;&gt; Source/JavaScriptCore/parser/VariableEnvironment.h:222
&gt;&gt; +        }
&gt; 
&gt; I&apos;ve just investigated more, and, the following way is the another possible change.
&gt; 
&gt; 1. defining move constructor too, as like the old one (move, and assign null to the original one)
&gt; 2. defining move assignment operator as move-and-swap.
&gt; 
&gt; Handle&amp; operator=(Handle&amp;&amp; other)
&gt; {
&gt;     Handle handle(WTFMove(other));
&gt;     swap(handle);
&gt;     return *this;
&gt; }
&gt; 
&gt; This would be better since (1) we can nullify the original `other`, and (2) move-and-swap idiom is well aligned to copy-and-swap in copy assignment operator.

This move constructor does nullify “other”. I like your suggestion for move assignment operator</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513664</commentid>
    <comment_count>8</comment_count>
      <attachid>363917</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-03-07 13:26:09 -0800</bug_when>
    <thetext>Created attachment 363917
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513724</commentid>
    <comment_count>9</comment_count>
      <attachid>363917</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-07 14:41:23 -0800</bug_when>
    <thetext>Comment on attachment 363917
patch for landing

Clearing flags on attachment: 363917

Committed r242613: &lt;https://trac.webkit.org/changeset/242613&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513725</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-07 14:41:25 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1514141</commentid>
    <comment_count>11</comment_count>
      <attachid>363917</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-03-08 12:57:32 -0800</bug_when>
    <thetext>Comment on attachment 363917
patch for landing

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

&gt; Source/JavaScriptCore/parser/VariableEnvironment.h:227
&gt; +            Handle handle(WTFMove(other));
&gt; +            swap(handle);
&gt; +            return *this;

This can instead just be:

    swap(other);
    return *this;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1514142</commentid>
    <comment_count>12</comment_count>
      <attachid>363917</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-03-08 12:58:03 -0800</bug_when>
    <thetext>Comment on attachment 363917
patch for landing

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

&gt;&gt; Source/JavaScriptCore/parser/VariableEnvironment.h:227
&gt;&gt; +            return *this;
&gt; 
&gt; This can instead just be:
&gt; 
&gt;     swap(other);
&gt;     return *this;

Oh, I see, it wouldn’t nullify if we did it that way. OK, I retract that suggestion.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>363844</attachid>
            <date>2019-03-06 21:07:02 -0800</date>
            <delta_ts>2019-03-07 13:26:17 -0800</delta_ts>
            <desc>patch</desc>
            <filename>a-backup.diff</filename>
            <type>text/plain</type>
            <size>4377</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjQyNTkwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBA
CisyMDE5LTAzLTA2ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IENvbXBhY3RWYXJpYWJsZU1hcDo6SGFuZGxlJ3MgY29weSBvcGVyYXRvcj0gbGVha3MgdGhlIHBy
ZXZpb3VzIGRhdGEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5NTM5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoZSBjb3B5IGNvbnN0cnVjdG9yIHdhcyBqdXN0IGFzc2lnbmluZyB8dGhpc3wgdG8gdGhl
IG5ldyB2YWx1ZSwKKyAgICAgICAgZm9yZ2V0dGluZyB0byBkZWNyZW1lbnQgdGhlIHJlZiBjb3Vu
dCBvZiB0aGUgdGhpbmcgcG9pbnRlZCB0byBieQorICAgICAgICB0aGUgfHRoaXN8IGhhbmRsZS4g
QmFzZWQgb24gWXVzdWtlJ3Mgc3VnZ2VzdGlvbiwgdGhpcyBwYXRjaCByZWZhY3RvcnMKKyAgICAg
ICAgdGhlIG1vdmUgY29uc3RydWN0b3IsIG1vdmUgb3BlcmF0b3I9LCBhbmQgY29weSBvcGVyYXRv
cj0gdG8gdXNlIHRoZQorICAgICAgICBzd2FwKCkgcHJpbWl0aXZlIGFuZCB0aGUgY29weSBjb25z
dHJ1Y3RvciBwcmltaXRpdmUuCisKKyAgICAgICAgKiBwYXJzZXIvVmFyaWFibGVFbnZpcm9ubWVu
dC5jcHA6CisgICAgICAgIChKU0M6OkNvbXBhY3RWYXJpYWJsZU1hcDo6SGFuZGxlOjpIYW5kbGUp
OgorICAgICAgICAoSlNDOjpDb21wYWN0VmFyaWFibGVNYXA6OkhhbmRsZTo6c3dhcCk6CisgICAg
ICAgIChKU0M6OkNvbXBhY3RWYXJpYWJsZU1hcDo6SGFuZGxlOjpvcGVyYXRvcj0pOiBEZWxldGVk
LgorICAgICAgICAqIHBhcnNlci9WYXJpYWJsZUVudmlyb25tZW50Lmg6CisgICAgICAgIChKU0M6
OkNvbXBhY3RWYXJpYWJsZU1hcDo6SGFuZGxlOjpIYW5kbGUpOgorICAgICAgICAoSlNDOjpDb21w
YWN0VmFyaWFibGVNYXA6OkhhbmRsZTo6b3BlcmF0b3I9KToKKwogMjAxOS0wMy0wNiAgU2FhbSBC
YXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KIAogICAgICAgICBKU1NjcmlwdCBzaG91bGQga2Vl
cCB0aGUgY2FjaGUgZmlsZSBsb2NrZWQgZm9yIHRoZSBkdXJhdGlvbiBvZiBpdHMgZXhpc3RlbmNl
IGFuZCBzaG91bGQgdHJ1bmNhdGUgdGhlIGNhY2hlIHdoZW4gaXQgaXMgb3V0IG9mIGRhdGUKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvVmFyaWFibGVFbnZpcm9ubWVudC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9WYXJpYWJsZUVudmly
b25tZW50LmNwcAkocmV2aXNpb24gMjQyNTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9WYXJpYWJsZUVudmlyb25tZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTkzLDI2ICsx
OTMsMjYgQEAgQ29tcGFjdFZhcmlhYmxlTWFwOjpIYW5kbGU6On5IYW5kbGUoKQogfQogCiBDb21w
YWN0VmFyaWFibGVNYXA6OkhhbmRsZTo6SGFuZGxlKGNvbnN0IENvbXBhY3RWYXJpYWJsZU1hcDo6
SGFuZGxlJiBvdGhlcikKKyAgICA6IG1fZW52aXJvbm1lbnQob3RoZXIubV9lbnZpcm9ubWVudCkK
KyAgICAsIG1fbWFwKG90aGVyLm1fbWFwKQogewotICAgICp0aGlzID0gb3RoZXI7Ci19Ci0KLUNv
bXBhY3RWYXJpYWJsZU1hcDo6SGFuZGxlJiBDb21wYWN0VmFyaWFibGVNYXA6OkhhbmRsZTo6b3Bl
cmF0b3I9KGNvbnN0IEhhbmRsZSYgb3RoZXIpCi17Ci0gICAgbV9tYXAgPSBvdGhlci5tX21hcDsK
LSAgICBtX2Vudmlyb25tZW50ID0gb3RoZXIubV9lbnZpcm9ubWVudDsKLQotICAgIGlmICghbV9t
YXApIHsKLSAgICAgICAgQVNTRVJUKCFtX2Vudmlyb25tZW50KTsKLSAgICAgICAgLy8gVGhpcyBo
YXBwZW5zIGlmIGBvdGhlcmAgd2VyZSBtb3ZlZCBpbnRvIGEgZGlmZmVyZW50IGhhbmRsZS4KLSAg
ICAgICAgcmV0dXJuICp0aGlzOworICAgIGlmIChtX21hcCkgeworICAgICAgICBhdXRvIGl0ZXIg
PSBtX21hcC0+bV9tYXAuZmluZChDb21wYWN0VmFyaWFibGVNYXBLZXkgeyAqbV9lbnZpcm9ubWVu
dCB9KTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXRlciAhPSBtX21hcC0+bV9tYXAuZW5kKCkp
OworICAgICAgICArK2l0ZXItPnZhbHVlOwogICAgIH0KK30KIAotICAgIGF1dG8gaXRlciA9IG1f
bWFwLT5tX21hcC5maW5kKENvbXBhY3RWYXJpYWJsZU1hcEtleSB7ICptX2Vudmlyb25tZW50IH0p
OwotICAgIFJFTEVBU0VfQVNTRVJUKGl0ZXIgIT0gbV9tYXAtPm1fbWFwLmVuZCgpKTsKLSAgICAr
K2l0ZXItPnZhbHVlOworQ29tcGFjdFZhcmlhYmxlTWFwOjpIYW5kbGU6OkhhbmRsZShDb21wYWN0
VmFyaWFibGVFbnZpcm9ubWVudCYgZW52aXJvbm1lbnQsIENvbXBhY3RWYXJpYWJsZU1hcCYgbWFw
KQorICAgIDogbV9lbnZpcm9ubWVudCgmZW52aXJvbm1lbnQpCisgICAgLCBtX21hcCgmbWFwKQor
eyAKK30KIAotICAgIHJldHVybiAqdGhpczsKK3ZvaWQgQ29tcGFjdFZhcmlhYmxlTWFwOjpIYW5k
bGU6OnN3YXAoQ29tcGFjdFZhcmlhYmxlTWFwOjpIYW5kbGUmIG90aGVyKQoreworICAgIHN0ZDo6
c3dhcChvdGhlci5tX2Vudmlyb25tZW50LCBtX2Vudmlyb25tZW50KTsKKyAgICBzdGQ6OnN3YXAo
b3RoZXIubV9tYXAsIG1fbWFwKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1ZhcmlhYmxlRW52aXJvbm1lbnQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1ZhcmlhYmxlRW52aXJvbm1lbnQuaAko
cmV2aXNpb24gMjQyNTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9WYXJpYWJs
ZUVudmlyb25tZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTIxNCwyMSArMjE0LDI1IEBAIHB1Ymxp
YzoKICAgICBwdWJsaWM6CiAgICAgICAgIEhhbmRsZSgpID0gZGVmYXVsdDsKIAotICAgICAgICBI
YW5kbGUoQ29tcGFjdFZhcmlhYmxlRW52aXJvbm1lbnQmIGVudmlyb25tZW50LCBDb21wYWN0VmFy
aWFibGVNYXAmIG1hcCkKLSAgICAgICAgICAgIDogbV9lbnZpcm9ubWVudCgmZW52aXJvbm1lbnQp
Ci0gICAgICAgICAgICAsIG1fbWFwKCZtYXApCi0gICAgICAgIHsgfQorICAgICAgICBIYW5kbGUo
Q29tcGFjdFZhcmlhYmxlRW52aXJvbm1lbnQmIGVudmlyb25tZW50LCBDb21wYWN0VmFyaWFibGVN
YXAmIG1hcCk7CisKICAgICAgICAgSGFuZGxlKEhhbmRsZSYmIG90aGVyKQotICAgICAgICAgICAg
OiBtX2Vudmlyb25tZW50KG90aGVyLm1fZW52aXJvbm1lbnQpCi0gICAgICAgICAgICAsIG1fbWFw
KFdURk1vdmUob3RoZXIubV9tYXApKQogICAgICAgICB7Ci0gICAgICAgICAgICBSRUxFQVNFX0FT
U0VSVCghIW1fZW52aXJvbm1lbnQgPT0gISFtX21hcCk7Ci0gICAgICAgICAgICBBU1NFUlQoIW90
aGVyLm1fbWFwKTsKLSAgICAgICAgICAgIG90aGVyLm1fZW52aXJvbm1lbnQgPSBudWxscHRyOwor
ICAgICAgICAgICAgc3dhcChvdGhlcik7CisgICAgICAgIH0KKyAgICAgICAgSGFuZGxlJiBvcGVy
YXRvcj0oSGFuZGxlJiYgb3RoZXIpCisgICAgICAgIHsKKyAgICAgICAgICAgIHN3YXAob3RoZXIp
OworICAgICAgICAgICAgcmV0dXJuICp0aGlzOwogICAgICAgICB9CiAKICAgICAgICAgSGFuZGxl
KGNvbnN0IEhhbmRsZSYpOwotICAgICAgICBIYW5kbGUmIG9wZXJhdG9yPShjb25zdCBIYW5kbGUm
KTsKKyAgICAgICAgSGFuZGxlJiBvcGVyYXRvcj0oY29uc3QgSGFuZGxlJiBvdGhlcikKKyAgICAg
ICAgeworICAgICAgICAgICAgSGFuZGxlIGhhbmRsZShvdGhlcik7CisgICAgICAgICAgICBzd2Fw
KGhhbmRsZSk7CisgICAgICAgICAgICByZXR1cm4gKnRoaXM7CisgICAgICAgIH0KIAogICAgICAg
ICB+SGFuZGxlKCk7CiAKQEAgLTI0MCw2ICsyNDQsOCBAQCBwdWJsaWM6CiAgICAgICAgIH0KIAog
ICAgIHByaXZhdGU6CisgICAgICAgIHZvaWQgc3dhcChIYW5kbGUmKTsKKwogICAgICAgICBDb21w
YWN0VmFyaWFibGVFbnZpcm9ubWVudCogbV9lbnZpcm9ubWVudCB7IG51bGxwdHIgfTsKICAgICAg
ICAgUmVmUHRyPENvbXBhY3RWYXJpYWJsZU1hcD4gbV9tYXA7CiAgICAgfTsK
</data>
<flag name="review"
          id="380407"
          type_id="1"
          status="+"
          setter="ysuzuki"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>363917</attachid>
            <date>2019-03-07 13:26:09 -0800</date>
            <delta_ts>2019-03-07 14:41:23 -0800</delta_ts>
            <desc>patch for landing</desc>
            <filename>a-backup.diff</filename>
            <type>text/plain</type>
            <size>4369</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjQyNTkwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBA
CisyMDE5LTAzLTA2ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IENvbXBhY3RWYXJpYWJsZU1hcDo6SGFuZGxlJ3MgY29weSBvcGVyYXRvcj0gbGVha3MgdGhlIHBy
ZXZpb3VzIGRhdGEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5NTM5OAorCisgICAgICAgIFJldmlld2VkIGJ5IFl1c3VrZSBTdXp1a2kuCisKKyAgICAg
ICAgVGhlIGNvcHkgY29uc3RydWN0b3Igd2FzIGp1c3QgYXNzaWduaW5nIHx0aGlzfCB0byB0aGUg
bmV3IHZhbHVlLAorICAgICAgICBmb3JnZXR0aW5nIHRvIGRlY3JlbWVudCB0aGUgcmVmIGNvdW50
IG9mIHRoZSB0aGluZyBwb2ludGVkIHRvIGJ5CisgICAgICAgIHRoZSB8dGhpc3wgaGFuZGxlLiBC
YXNlZCBvbiBZdXN1a2UncyBzdWdnZXN0aW9uLCB0aGlzIHBhdGNoIHJlZmFjdG9ycworICAgICAg
ICB0aGUgbW92ZSBjb25zdHJ1Y3RvciwgbW92ZSBvcGVyYXRvcj0sIGFuZCBjb3B5IG9wZXJhdG9y
PSB0byB1c2UgdGhlCisgICAgICAgIHN3YXAoKSBwcmltaXRpdmUgYW5kIHRoZSBjb3B5IGNvbnN0
cnVjdG9yIHByaW1pdGl2ZS4KKworICAgICAgICAqIHBhcnNlci9WYXJpYWJsZUVudmlyb25tZW50
LmNwcDoKKyAgICAgICAgKEpTQzo6Q29tcGFjdFZhcmlhYmxlTWFwOjpIYW5kbGU6OkhhbmRsZSk6
CisgICAgICAgIChKU0M6OkNvbXBhY3RWYXJpYWJsZU1hcDo6SGFuZGxlOjpzd2FwKToKKyAgICAg
ICAgKEpTQzo6Q29tcGFjdFZhcmlhYmxlTWFwOjpIYW5kbGU6Om9wZXJhdG9yPSk6IERlbGV0ZWQu
CisgICAgICAgICogcGFyc2VyL1ZhcmlhYmxlRW52aXJvbm1lbnQuaDoKKyAgICAgICAgKEpTQzo6
Q29tcGFjdFZhcmlhYmxlTWFwOjpIYW5kbGU6OkhhbmRsZSk6CisgICAgICAgIChKU0M6OkNvbXBh
Y3RWYXJpYWJsZU1hcDo6SGFuZGxlOjpvcGVyYXRvcj0pOgorCiAyMDE5LTAzLTA2ICBTYWFtIEJh
cmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgogCiAgICAgICAgIEpTU2NyaXB0IHNob3VsZCBrZWVw
IHRoZSBjYWNoZSBmaWxlIGxvY2tlZCBmb3IgdGhlIGR1cmF0aW9uIG9mIGl0cyBleGlzdGVuY2Ug
YW5kIHNob3VsZCB0cnVuY2F0ZSB0aGUgY2FjaGUgd2hlbiBpdCBpcyBvdXQgb2YgZGF0ZQpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9WYXJpYWJsZUVudmlyb25tZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1ZhcmlhYmxlRW52aXJv
bm1lbnQuY3BwCShyZXZpc2lvbiAyNDI1ODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1ZhcmlhYmxlRW52aXJvbm1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTMsMjYgKzE5
MywyMCBAQCBDb21wYWN0VmFyaWFibGVNYXA6OkhhbmRsZTo6fkhhbmRsZSgpCiB9CiAKIENvbXBh
Y3RWYXJpYWJsZU1hcDo6SGFuZGxlOjpIYW5kbGUoY29uc3QgQ29tcGFjdFZhcmlhYmxlTWFwOjpI
YW5kbGUmIG90aGVyKQorICAgIDogbV9lbnZpcm9ubWVudChvdGhlci5tX2Vudmlyb25tZW50KQor
ICAgICwgbV9tYXAob3RoZXIubV9tYXApCiB7Ci0gICAgKnRoaXMgPSBvdGhlcjsKLX0KLQotQ29t
cGFjdFZhcmlhYmxlTWFwOjpIYW5kbGUmIENvbXBhY3RWYXJpYWJsZU1hcDo6SGFuZGxlOjpvcGVy
YXRvcj0oY29uc3QgSGFuZGxlJiBvdGhlcikKLXsKLSAgICBtX21hcCA9IG90aGVyLm1fbWFwOwot
ICAgIG1fZW52aXJvbm1lbnQgPSBvdGhlci5tX2Vudmlyb25tZW50OwotCi0gICAgaWYgKCFtX21h
cCkgewotICAgICAgICBBU1NFUlQoIW1fZW52aXJvbm1lbnQpOwotICAgICAgICAvLyBUaGlzIGhh
cHBlbnMgaWYgYG90aGVyYCB3ZXJlIG1vdmVkIGludG8gYSBkaWZmZXJlbnQgaGFuZGxlLgotICAg
ICAgICByZXR1cm4gKnRoaXM7CisgICAgaWYgKG1fbWFwKSB7CisgICAgICAgIGF1dG8gaXRlciA9
IG1fbWFwLT5tX21hcC5maW5kKENvbXBhY3RWYXJpYWJsZU1hcEtleSB7ICptX2Vudmlyb25tZW50
IH0pOworICAgICAgICBSRUxFQVNFX0FTU0VSVChpdGVyICE9IG1fbWFwLT5tX21hcC5lbmQoKSk7
CisgICAgICAgICsraXRlci0+dmFsdWU7CiAgICAgfQorfQogCi0gICAgYXV0byBpdGVyID0gbV9t
YXAtPm1fbWFwLmZpbmQoQ29tcGFjdFZhcmlhYmxlTWFwS2V5IHsgKm1fZW52aXJvbm1lbnQgfSk7
Ci0gICAgUkVMRUFTRV9BU1NFUlQoaXRlciAhPSBtX21hcC0+bV9tYXAuZW5kKCkpOwotICAgICsr
aXRlci0+dmFsdWU7Ci0KLSAgICByZXR1cm4gKnRoaXM7CitDb21wYWN0VmFyaWFibGVNYXA6Okhh
bmRsZTo6SGFuZGxlKENvbXBhY3RWYXJpYWJsZUVudmlyb25tZW50JiBlbnZpcm9ubWVudCwgQ29t
cGFjdFZhcmlhYmxlTWFwJiBtYXApCisgICAgOiBtX2Vudmlyb25tZW50KCZlbnZpcm9ubWVudCkK
KyAgICAsIG1fbWFwKCZtYXApCit7IAogfQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvVmFyaWFibGVFbnZpcm9ubWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvVmFyaWFibGVFbnZpcm9ubWVudC5o
CShyZXZpc2lvbiAyNDI1ODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Zhcmlh
YmxlRW52aXJvbm1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjE0LDIxICsyMTQsMjYgQEAgcHVi
bGljOgogICAgIHB1YmxpYzoKICAgICAgICAgSGFuZGxlKCkgPSBkZWZhdWx0OwogCi0gICAgICAg
IEhhbmRsZShDb21wYWN0VmFyaWFibGVFbnZpcm9ubWVudCYgZW52aXJvbm1lbnQsIENvbXBhY3RW
YXJpYWJsZU1hcCYgbWFwKQotICAgICAgICAgICAgOiBtX2Vudmlyb25tZW50KCZlbnZpcm9ubWVu
dCkKLSAgICAgICAgICAgICwgbV9tYXAoJm1hcCkKLSAgICAgICAgeyB9CisgICAgICAgIEhhbmRs
ZShDb21wYWN0VmFyaWFibGVFbnZpcm9ubWVudCYsIENvbXBhY3RWYXJpYWJsZU1hcCYpOworCiAg
ICAgICAgIEhhbmRsZShIYW5kbGUmJiBvdGhlcikKLSAgICAgICAgICAgIDogbV9lbnZpcm9ubWVu
dChvdGhlci5tX2Vudmlyb25tZW50KQotICAgICAgICAgICAgLCBtX21hcChXVEZNb3ZlKG90aGVy
Lm1fbWFwKSkKICAgICAgICAgewotICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoISFtX2Vudmly
b25tZW50ID09ICEhbV9tYXApOwotICAgICAgICAgICAgQVNTRVJUKCFvdGhlci5tX21hcCk7Ci0g
ICAgICAgICAgICBvdGhlci5tX2Vudmlyb25tZW50ID0gbnVsbHB0cjsKKyAgICAgICAgICAgIHN3
YXAob3RoZXIpOworICAgICAgICB9CisgICAgICAgIEhhbmRsZSYgb3BlcmF0b3I9KEhhbmRsZSYm
IG90aGVyKQorICAgICAgICB7CisgICAgICAgICAgICBIYW5kbGUgaGFuZGxlKFdURk1vdmUob3Ro
ZXIpKTsKKyAgICAgICAgICAgIHN3YXAoaGFuZGxlKTsKKyAgICAgICAgICAgIHJldHVybiAqdGhp
czsKICAgICAgICAgfQogCiAgICAgICAgIEhhbmRsZShjb25zdCBIYW5kbGUmKTsKLSAgICAgICAg
SGFuZGxlJiBvcGVyYXRvcj0oY29uc3QgSGFuZGxlJik7CisgICAgICAgIEhhbmRsZSYgb3BlcmF0
b3I9KGNvbnN0IEhhbmRsZSYgb3RoZXIpCisgICAgICAgIHsKKyAgICAgICAgICAgIEhhbmRsZSBo
YW5kbGUob3RoZXIpOworICAgICAgICAgICAgc3dhcChoYW5kbGUpOworICAgICAgICAgICAgcmV0
dXJuICp0aGlzOworICAgICAgICB9CiAKICAgICAgICAgfkhhbmRsZSgpOwogCkBAIC0yNDAsNiAr
MjQ1LDEyIEBAIHB1YmxpYzoKICAgICAgICAgfQogCiAgICAgcHJpdmF0ZToKKyAgICAgICAgdm9p
ZCBzd2FwKEhhbmRsZSYgb3RoZXIpCisgICAgICAgIHsKKyAgICAgICAgICAgIHN0ZDo6c3dhcChv
dGhlci5tX2Vudmlyb25tZW50LCBtX2Vudmlyb25tZW50KTsKKyAgICAgICAgICAgIHN0ZDo6c3dh
cChvdGhlci5tX21hcCwgbV9tYXApOworICAgICAgICB9CisKICAgICAgICAgQ29tcGFjdFZhcmlh
YmxlRW52aXJvbm1lbnQqIG1fZW52aXJvbm1lbnQgeyBudWxscHRyIH07CiAgICAgICAgIFJlZlB0
cjxDb21wYWN0VmFyaWFibGVNYXA+IG1fbWFwOwogICAgIH07Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>