<?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>235658</bug_id>
          
          <creation_ts>2022-01-26 11:29:34 -0800</creation_ts>
          <short_desc>JSEventListener::replaceJSFunctionForAttributeListener() should not replace m_wrapper unconditionally</short_desc>
          <delta_ts>2022-01-28 11:49:51 -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>DOM</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=234441</see_also>
          <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="Alexey Shvayka">ashvayka</reporter>
          <assigned_to name="Alexey Shvayka">ashvayka</assigned_to>
          <cc>cdumez</cc>
    
    <cc>ggaren</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1834192</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2022-01-26 11:29:34 -0800</bug_when>
    <thetext>JSEventListener::replaceJSFunctionForAttributeListener() should not replace m_wrapper unconditionally</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834193</commentid>
    <comment_count>1</comment_count>
      <attachid>450044</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2022-01-26 11:30:22 -0800</bug_when>
    <thetext>Created attachment 450044
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834213</commentid>
    <comment_count>2</comment_count>
      <attachid>450044</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-01-26 11:46:08 -0800</bug_when>
    <thetext>Comment on attachment 450044
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834306</commentid>
    <comment_count>3</comment_count>
      <attachid>450044</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2022-01-26 15:03:45 -0800</bug_when>
    <thetext>Comment on attachment 450044
Patch

Thanks Yusuke!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834307</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-26 15:09:06 -0800</bug_when>
    <thetext>Committed r288648 (246456@main): &lt;https://commits.webkit.org/246456@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 450044.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834308</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-26 15:10:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/88098051&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834317</commentid>
    <comment_count>6</comment_count>
      <attachid>450044</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2022-01-26 15:22:10 -0800</bug_when>
    <thetext>Comment on attachment 450044
Patch

Why is it OK (or a memory improvement) to replace m_jsFunction unconditionally but replace m_wrapper conditionally?

There seem to be some null checks of m_wrapper in JSEventListener. Wouldn&apos;t the choice not to update M-wrapper change their behavior?

Write barrier changes the behavior of GC. Why is it OK to skip sometimes?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834321</commentid>
    <comment_count>7</comment_count>
      <attachid>450044</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2022-01-26 15:26:54 -0800</bug_when>
    <thetext>Comment on attachment 450044
Patch

If I understand the intent correctly, I *think* a better fix would be:

m_jsFunction = Weak { function };

if (m_isInitialized)
    ASSERT(m_wrapper == wrapper);
else {
    m_wrapper = Weak { wrapper };
    m_isInitialized = true;
}

auto&amp; vm = m_isolatedWorld-&gt;vm();
vm.writeBarrier(m_wrapper, m_jsFunction);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834328</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2022-01-26 15:38:38 -0800</bug_when>
    <thetext>(In reply to Geoffrey Garen from comment #6)
&gt; Comment on attachment 450044 [details]
&gt; Patch
&gt; 
&gt; Why is it OK (or a memory improvement) to replace m_jsFunction
&gt; unconditionally but replace m_wrapper conditionally?
&gt; 
&gt; There seem to be some null checks of m_wrapper in JSEventListener. Wouldn&apos;t
&gt; the choice not to update M-wrapper change their behavior?

As you&apos;ve noted in https://bugs.webkit.org/show_bug.cgi?id=235658#c7, we hope (assert) the m_wrapper stays alive and unchanged.

&gt; Write barrier changes the behavior of GC. Why is it OK to skip sometimes?

Write barrier is being set up only in case of JSLazyEventListener, where we create m_jsFunction from a string; that&apos;s not the case for replaceJSFunctionForAttributeListener(), so I guess the better fix would be just:

m_jsFunction = Weak { function };

if (m_isInitialized)
    ASSERT(m_wrapper == wrapper);
else {
    m_wrapper = Weak { wrapper };
    m_isInitialized = true;
}

&lt;no write barrier necessary&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834333</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2022-01-26 15:51:38 -0800</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834334</commentid>
    <comment_count>10</comment_count>
      <attachid>450081</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2022-01-26 15:51:42 -0800</bug_when>
    <thetext>Created attachment 450081
Follow-up patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834350</commentid>
    <comment_count>11</comment_count>
      <attachid>450083</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2022-01-26 16:35:39 -0800</bug_when>
    <thetext>Created attachment 450083
Follow-up patch

Fix comparison.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834720</commentid>
    <comment_count>12</comment_count>
      <attachid>450184</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2022-01-27 14:59:53 -0800</bug_when>
    <thetext>Created attachment 450184
Follow-up patch

Pass correct wrapper for Window-reflecting event handlers and improve ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835080</commentid>
    <comment_count>13</comment_count>
      <attachid>450184</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2022-01-28 11:42:23 -0800</bug_when>
    <thetext>Comment on attachment 450184
Follow-up patch

Geoff, thank you for valuable comments that led to discovering &amp; fixing the incorrect behavior, which was probably user-facing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835082</commentid>
    <comment_count>14</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-28 11:49:46 -0800</bug_when>
    <thetext>Committed r288753 (246544@main): &lt;https://commits.webkit.org/246544@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 450184.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450044</attachid>
            <date>2022-01-26 11:30:22 -0800</date>
            <delta_ts>2022-01-26 15:51:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235658-20220126193020.patch</filename>
            <type>text/plain</type>
            <size>2119</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI4ODYzMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDIyLTAxLTI2ICBBbGV4ZXkg
U2h2YXlrYSAgPGFzaHZheWthQGFwcGxlLmNvbT4KKworICAgICAgICBKU0V2ZW50TGlzdGVuZXI6
OnJlcGxhY2VKU0Z1bmN0aW9uRm9yQXR0cmlidXRlTGlzdGVuZXIoKSBzaG91bGQgbm90IHJlcGxh
Y2UgbV93cmFwcGVyIHVuY29uZGl0aW9uYWxseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1NjU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyBhIGZvbGxvdy11cCB0byByMjg3MjkzLCB3aGlj
aCBhbGlnbnMgSlNFdmVudExpc3RlbmVyOjpyZXBsYWNlSlNGdW5jdGlvbkZvckF0dHJpYnV0ZUxp
c3RlbmVyKCkKKyAgICAgICAgd2l0aCBKU0V2ZW50TGlzdGVuZXI6OmVuc3VyZUpTRnVuY3Rpb24o
KSBpbiB0ZXJtcyBvZiBoYW5kbGluZyB1bmluaXRpbGl6ZWQgbGF6eSBldmVudCBsaXN0ZW5lcnMu
CisKKyAgICAgICAgV2l0aG91dCB0aGlzIGNoYW5nZSwgdGhlIG1pY3JvYmVuY2htYXJrIGluIDxo
dHRwczovL3dlYmtpdC5vcmcvYi8yMzQ0NDE+IGNvbnN1bWVzIDE2IEdCIG9mIG1lbW9yeSBpbgor
ICAgICAgICAzMCBzZWNvbmRzIGFuZCBjcmFzaGVzLCB3aGljaCBldmVuIGlzbid0IGEgcmVncmVz
c2lvbjogdGhlIHNhbWUgaXNzdWUgd2FzIG9ic2VydmVkIGJlZm9yZSByMjg3MjkzLgorCisgICAg
ICAgIEFjY29yZGluZyB0byBuZXcgbWljcm9iZW5jaG1hcmsgc2FtcGxlcywgSSdtIGhvcGVmdWwg
dGhhdCB3aXRoIHRoaXMgcGF0Y2gsIFNwZWVkb21ldGVyMi9JbmZlcm5vLVRvZG9NVkMKKyAgICAg
ICAgd2lsbCBwcm9ncmVzcyBhcyBwcm9taXNlZCBpbiByMjg3MjkzLgorCisgICAgICAgIE5vIG5l
dyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNF
dmVudExpc3RlbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRXZlbnRMaXN0ZW5lcjo6cmVw
bGFjZUpTRnVuY3Rpb25Gb3JBdHRyaWJ1dGVMaXN0ZW5lcik6CisKIDIwMjItMDEtMjYgIENocmlz
IER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByZXZlcnQg
cjI4Njg1NSBhcyBpdCBjYXVzZWQgZm9ybSBzdWJtaXNzaW9uIGlzc3VlcwpJbmRleDogU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudExpc3RlbmVyLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50TGlzdGVuZXIuY3BwCShyZXZpc2lvbiAy
ODg1ODgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50TGlzdGVuZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC04Niw4ICs4NiwxMiBAQCB2b2lkIEpTRXZlbnRMaXN0ZW5lcjo6
cmVwbGFjZUpTRnVuY3Rpb25GCiAgICAgQVNTRVJUKHdyYXBwZXIpOwogCiAgICAgbV9qc0Z1bmN0
aW9uID0gV2VhayB7IGZ1bmN0aW9uIH07Ci0gICAgbV93cmFwcGVyID0gd3JhcHBlcjsKLSAgICBt
X2lzSW5pdGlhbGl6ZWQgPSB0cnVlOworICAgIGlmIChVTkxJS0VMWSghbV9pc0luaXRpYWxpemVk
KSkgeworICAgICAgICBtX3dyYXBwZXIgPSBXZWFrIHsgd3JhcHBlciB9OworICAgICAgICBhdXRv
JiB2bSA9IG1faXNvbGF0ZWRXb3JsZC0+dm0oKTsKKyAgICAgICAgdm0ud3JpdGVCYXJyaWVyKHdy
YXBwZXIsIGZ1bmN0aW9uKTsKKyAgICAgICAgbV9pc0luaXRpYWxpemVkID0gdHJ1ZTsKKyAgICB9
CiB9CiAKIEpTVmFsdWUgZXZlbnRIYW5kbGVyQXR0cmlidXRlKEV2ZW50VGFyZ2V0JiBldmVudFRh
cmdldCwgY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBET01XcmFwcGVyV29ybGQmIGlzb2xh
dGVkV29ybGQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450081</attachid>
            <date>2022-01-26 15:51:42 -0800</date>
            <delta_ts>2022-01-26 16:35:34 -0800</delta_ts>
            <desc>Follow-up patch</desc>
            <filename>bug-235658-20220126235140.patch</filename>
            <type>text/plain</type>
            <size>1452</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI4ODY0OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDIyLTAxLTI2ICBBbGV4ZXkg
U2h2YXlrYSAgPGFzaHZheWthQGFwcGxlLmNvbT4KKworICAgICAgICBKU0V2ZW50TGlzdGVuZXI6
OnJlcGxhY2VKU0Z1bmN0aW9uRm9yQXR0cmlidXRlTGlzdGVuZXIoKSBzaG91bGQgbm90IHJlcGxh
Y2UgbV93cmFwcGVyIHVuY29uZGl0aW9uYWxseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1NjU4CisKKyAgICAgICAgVW5yZXZpZXdlZCwgZm9sbG93
LXVwIHRvIHIyODg2NDggYmFzZWQgb24gR2VvZmYncyBmZWVkYmFjay4KKworICAgICAgICAqIGJp
bmRpbmdzL2pzL0pTRXZlbnRMaXN0ZW5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0V2ZW50
TGlzdGVuZXI6OnJlcGxhY2VKU0Z1bmN0aW9uRm9yQXR0cmlidXRlTGlzdGVuZXIpOgorCiAyMDIy
LTAxLTI2ICBBbGV4ZXkgU2h2YXlrYSAgPGFzaHZheWthQGFwcGxlLmNvbT4KIAogICAgICAgICBK
U0V2ZW50TGlzdGVuZXI6OnJlcGxhY2VKU0Z1bmN0aW9uRm9yQXR0cmlidXRlTGlzdGVuZXIoKSBz
aG91bGQgbm90IHJlcGxhY2UgbV93cmFwcGVyIHVuY29uZGl0aW9uYWxseQpJbmRleDogU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudExpc3RlbmVyLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50TGlzdGVuZXIuY3BwCShyZXZpc2lvbiAy
ODg2NDkpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50TGlzdGVuZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC04NiwxMCArODYsMTAgQEAgdm9pZCBKU0V2ZW50TGlzdGVuZXI6
OnJlcGxhY2VKU0Z1bmN0aW9uRgogICAgIEFTU0VSVCh3cmFwcGVyKTsKIAogICAgIG1fanNGdW5j
dGlvbiA9IFdlYWsgeyBmdW5jdGlvbiB9OwotICAgIGlmIChVTkxJS0VMWSghbV9pc0luaXRpYWxp
emVkKSkgeworICAgIGlmIChtX2lzSW5pdGlhbGl6ZWQpCisgICAgICAgIEFTU0VSVChtX3dyYXBw
ZXIgPT0gd3JhcHBlcik7CisgICAgZWxzZSB7CiAgICAgICAgIG1fd3JhcHBlciA9IFdlYWsgeyB3
cmFwcGVyIH07Ci0gICAgICAgIGF1dG8mIHZtID0gbV9pc29sYXRlZFdvcmxkLT52bSgpOwotICAg
ICAgICB2bS53cml0ZUJhcnJpZXIod3JhcHBlciwgZnVuY3Rpb24pOwogICAgICAgICBtX2lzSW5p
dGlhbGl6ZWQgPSB0cnVlOwogICAgIH0KIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450083</attachid>
            <date>2022-01-26 16:35:39 -0800</date>
            <delta_ts>2022-01-27 14:59:48 -0800</delta_ts>
            <desc>Follow-up patch</desc>
            <filename>bug-235658-20220127003538.patch</filename>
            <type>text/plain</type>
            <size>1458</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI4ODY0OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDIyLTAxLTI2ICBBbGV4ZXkg
U2h2YXlrYSAgPGFzaHZheWthQGFwcGxlLmNvbT4KKworICAgICAgICBKU0V2ZW50TGlzdGVuZXI6
OnJlcGxhY2VKU0Z1bmN0aW9uRm9yQXR0cmlidXRlTGlzdGVuZXIoKSBzaG91bGQgbm90IHJlcGxh
Y2UgbV93cmFwcGVyIHVuY29uZGl0aW9uYWxseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1NjU4CisKKyAgICAgICAgVW5yZXZpZXdlZCwgZm9sbG93
LXVwIHRvIHIyODg2NDggYmFzZWQgb24gR2VvZmYncyBmZWVkYmFjay4KKworICAgICAgICAqIGJp
bmRpbmdzL2pzL0pTRXZlbnRMaXN0ZW5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0V2ZW50
TGlzdGVuZXI6OnJlcGxhY2VKU0Z1bmN0aW9uRm9yQXR0cmlidXRlTGlzdGVuZXIpOgorCiAyMDIy
LTAxLTI2ICBBbGV4ZXkgU2h2YXlrYSAgPGFzaHZheWthQGFwcGxlLmNvbT4KIAogICAgICAgICBK
U0V2ZW50TGlzdGVuZXI6OnJlcGxhY2VKU0Z1bmN0aW9uRm9yQXR0cmlidXRlTGlzdGVuZXIoKSBz
aG91bGQgbm90IHJlcGxhY2UgbV93cmFwcGVyIHVuY29uZGl0aW9uYWxseQpJbmRleDogU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudExpc3RlbmVyLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50TGlzdGVuZXIuY3BwCShyZXZpc2lvbiAy
ODg2NDkpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50TGlzdGVuZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC04NiwxMCArODYsMTAgQEAgdm9pZCBKU0V2ZW50TGlzdGVuZXI6
OnJlcGxhY2VKU0Z1bmN0aW9uRgogICAgIEFTU0VSVCh3cmFwcGVyKTsKIAogICAgIG1fanNGdW5j
dGlvbiA9IFdlYWsgeyBmdW5jdGlvbiB9OwotICAgIGlmIChVTkxJS0VMWSghbV9pc0luaXRpYWxp
emVkKSkgeworICAgIGlmIChtX2lzSW5pdGlhbGl6ZWQpCisgICAgICAgIEFTU0VSVChtX3dyYXBw
ZXIuZ2V0KCkgPT0gd3JhcHBlcik7CisgICAgZWxzZSB7CiAgICAgICAgIG1fd3JhcHBlciA9IFdl
YWsgeyB3cmFwcGVyIH07Ci0gICAgICAgIGF1dG8mIHZtID0gbV9pc29sYXRlZFdvcmxkLT52bSgp
OwotICAgICAgICB2bS53cml0ZUJhcnJpZXIod3JhcHBlciwgZnVuY3Rpb24pOwogICAgICAgICBt
X2lzSW5pdGlhbGl6ZWQgPSB0cnVlOwogICAgIH0KIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450184</attachid>
            <date>2022-01-27 14:59:53 -0800</date>
            <delta_ts>2022-01-28 11:49:48 -0800</delta_ts>
            <desc>Follow-up patch</desc>
            <filename>bug-235658-20220127225952.patch</filename>
            <type>text/plain</type>
            <size>3346</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI4ODcwMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDIyLTAxLTI3ICBBbGV4ZXkg
U2h2YXlrYSAgPGFzaHZheWthQGFwcGxlLmNvbT4KKworICAgICAgICBKU0V2ZW50TGlzdGVuZXI6
OnJlcGxhY2VKU0Z1bmN0aW9uRm9yQXR0cmlidXRlTGlzdGVuZXIoKSBzaG91bGQgbm90IHJlcGxh
Y2UgbV93cmFwcGVyIHVuY29uZGl0aW9uYWxseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1NjU4CisKKyAgICAgICAgVW5yZXZpZXdlZCwgZm9sbG93
LXVwIHRvIHIyODg2NDggYmFzZWQgb24gR2VvZmYncyBmZWVkYmFjay4KKworICAgICAgICBBc3Nl
cnQgdGhhdCBpZiByZXBsYWNlSlNGdW5jdGlvbkZvckF0dHJpYnV0ZUxpc3RlbmVyKCkgaXMgaW52
b2tlZCwgbV93cmFwcGVyIGlzCisgICAgICAgIGFsaXZlIGFuZCByZW1haW5zIHVuY2hhbmdlZC4g
UmVtb3ZlIHdyaXRlQmFycmllcigpIGFzIGVuc3VyZUpTRnVuY3Rpb24oKSBzZXRzIGl0CisgICAg
ICAgIHVwIG9ubHkgZm9yIGZ1bmN0aW9ucyBjcmVhdGVkIGZyb20gc291cmNlIGNvZGUuCisKKyAg
ICAgICAgVG8gbWVldCB0aGUgZXhwZWN0YXRpb24gZm9yIFdpbmRvdy1yZWZsZWN0aW5nIGV2ZW50
IGhhbmRsZXJzLCBlbnN1cmUgdGhhdAorICAgICAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVy
KCkgaXMgY2FsbGVkIHdpdGggdGhlIGNvcnJlY3Qgd3JhcHBlciwgYW5kIGFsc28gY2FsbCBpdAor
ICAgICAgICBkaXJlY3RseSBvbiBET01XaW5kb3cgdG8gaW1wcm92ZSByZWFkYWJpbGl0eS4KKwor
ICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRXZlbnRMaXN0ZW5lci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpKU0V2ZW50TGlzdGVuZXI6OnJlcGxhY2VKU0Z1bmN0aW9uRm9yQXR0cmlidXRlTGlzdGVu
ZXIpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRXZlbnRMaXN0ZW5lci5oOgorICAgICAgICAo
V2ViQ29yZTo6c2V0V2luZG93RXZlbnRIYW5kbGVyQXR0cmlidXRlKToKKwogMjAyMi0wMS0yNyAg
QW5kcmVzIEdvbnphbGV6ICA8YW5kcmVzZ18yMkBhcHBsZS5jb20+CiAKICAgICAgICAgQVhJc29s
YXRlZE9iamVjdDo6Y2hpbGRyZW4gc2hvdWxkIGhvbm9yIHRoZSBwYXJhbWV0ZXIgdXBkYXRlQ2hp
bGRyZW5JZk5lZWRlZC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRM
aXN0ZW5lci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNF
dmVudExpc3RlbmVyLmNwcAkocmV2aXNpb24gMjg4Njc2KQorKysgU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNFdmVudExpc3RlbmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODYsMTAgKzg2
LDEwIEBAIHZvaWQgSlNFdmVudExpc3RlbmVyOjpyZXBsYWNlSlNGdW5jdGlvbkYKICAgICBBU1NF
UlQod3JhcHBlcik7CiAKICAgICBtX2pzRnVuY3Rpb24gPSBXZWFrIHsgZnVuY3Rpb24gfTsKLSAg
ICBpZiAoVU5MSUtFTFkoIW1faXNJbml0aWFsaXplZCkpIHsKKyAgICBpZiAobV9pc0luaXRpYWxp
emVkKQorICAgICAgICBBU1NFUlQobV93cmFwcGVyLmdldCgpID09IHdyYXBwZXIpOworICAgIGVs
c2UgewogICAgICAgICBtX3dyYXBwZXIgPSBXZWFrIHsgd3JhcHBlciB9OwotICAgICAgICBhdXRv
JiB2bSA9IG1faXNvbGF0ZWRXb3JsZC0+dm0oKTsKLSAgICAgICAgdm0ud3JpdGVCYXJyaWVyKHdy
YXBwZXIsIGZ1bmN0aW9uKTsKICAgICAgICAgbV9pc0luaXRpYWxpemVkID0gdHJ1ZTsKICAgICB9
CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50TGlzdGVuZXIuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50TGlzdGVuZXIu
aAkocmV2aXNpb24gMjg4Njc2KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVu
dExpc3RlbmVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwNywxNCArMTA3LDE0IEBAIGlubGluZSBK
U0M6OkpTVmFsdWUgd2luZG93RXZlbnRIYW5kbGVyQXQKIHRlbXBsYXRlPHR5cGVuYW1lIEpTTWF5
YmVFcnJvckV2ZW50TGlzdGVuZXI+CiBpbmxpbmUgdm9pZCBzZXRXaW5kb3dFdmVudEhhbmRsZXJB
dHRyaWJ1dGUoRE9NV2luZG93JiB3aW5kb3csIGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwg
SlNDOjpKU1ZhbHVlIGxpc3RlbmVyLCBKU0M6OkpTT2JqZWN0JiBqc0V2ZW50VGFyZ2V0KQogewot
ICAgIHdpbmRvdy5zZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyPEpTTWF5YmVFcnJvckV2ZW50TGlz
dGVuZXI+KGV2ZW50VHlwZSwgbGlzdGVuZXIsIGpzRXZlbnRUYXJnZXQpOworICAgIHdpbmRvdy5z
ZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyPEpTTWF5YmVFcnJvckV2ZW50TGlzdGVuZXI+KGV2ZW50
VHlwZSwgbGlzdGVuZXIsICpqc0V2ZW50VGFyZ2V0Lmdsb2JhbE9iamVjdCgpKTsKIH0KIAogdGVt
cGxhdGU8dHlwZW5hbWUgSlNNYXliZUVycm9yRXZlbnRMaXN0ZW5lcj4KIGlubGluZSB2b2lkIHNl
dFdpbmRvd0V2ZW50SGFuZGxlckF0dHJpYnV0ZShIVE1MRWxlbWVudCYgZWxlbWVudCwgY29uc3Qg
QXRvbVN0cmluZyYgZXZlbnRUeXBlLCBKU0M6OkpTVmFsdWUgbGlzdGVuZXIsIEpTQzo6SlNPYmpl
Y3QmIGpzRXZlbnRUYXJnZXQpCiB7CiAgICAgaWYgKGF1dG8qIGRvbVdpbmRvdyA9IGVsZW1lbnQu
ZG9jdW1lbnQoKS5kb21XaW5kb3coKSkKLSAgICAgICAgc2V0V2luZG93RXZlbnRIYW5kbGVyQXR0
cmlidXRlPEpTTWF5YmVFcnJvckV2ZW50TGlzdGVuZXI+KCpkb21XaW5kb3csIGV2ZW50VHlwZSwg
bGlzdGVuZXIsIGpzRXZlbnRUYXJnZXQpOworICAgICAgICBkb21XaW5kb3ctPnNldEF0dHJpYnV0
ZUV2ZW50TGlzdGVuZXI8SlNNYXliZUVycm9yRXZlbnRMaXN0ZW5lcj4oZXZlbnRUeXBlLCBsaXN0
ZW5lciwgKmpzRXZlbnRUYXJnZXQuZ2xvYmFsT2JqZWN0KCkpOwogfQogCiBpbmxpbmUgSlNDOjpK
U09iamVjdCogSlNFdmVudExpc3RlbmVyOjplbnN1cmVKU0Z1bmN0aW9uKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpIGNvbnN0Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>