<?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>214816</bug_id>
          
          <creation_ts>2020-07-26 23:33:23 -0700</creation_ts>
          <short_desc>SOAuthorizationSession::dismissViewController could crash on calling WebPageProxy::platformWindow</short_desc>
          <delta_ts>2020-07-31 13:39:10 -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>WebKit Misc.</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="Jiewen Tan">jiewen_tan</reporter>
          <assigned_to name="Jiewen Tan">jiewen_tan</assigned_to>
          <cc>ap</cc>
    
    <cc>bfulgham</cc>
    
    <cc>darin</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1675166</commentid>
    <comment_count>0</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-07-26 23:33:23 -0700</bug_when>
    <thetext>SOAuthorizationSession::dismissViewController presentingWindow could be null.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675167</commentid>
    <comment_count>1</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-07-26 23:33:43 -0700</bug_when>
    <thetext>&lt;rdar://problem/65681530&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675168</commentid>
    <comment_count>2</comment_count>
      <attachid>405261</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-07-26 23:37:51 -0700</bug_when>
    <thetext>Created attachment 405261
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675346</commentid>
    <comment_count>3</comment_count>
      <attachid>405261</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-07-27 12:20:30 -0700</bug_when>
    <thetext>Comment on attachment 405261
Patch

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

&gt; Source/WebKit/UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm:300
&gt;      if (m_page &amp;&amp; m_page-&gt;platformWindow()) {

WebKit coding style proposes a style called early exit. Since this code already has &quot;return&quot; statements in it, I think it’s a good candidate for that style.

&gt; Source/WebKit/UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm:301
&gt; +        if (auto *presentingWindow = m_page-&gt;platformWindow()) {

Why is it valuable to check this for null again? The line of code just above this already checks it for null. This patch seems to be based on an incorrect assumption that it’s not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675387</commentid>
    <comment_count>4</comment_count>
      <attachid>405261</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-07-27 14:04:05 -0700</bug_when>
    <thetext>Comment on attachment 405261
Patch

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

&gt;&gt; Source/WebKit/UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm:300
&gt;&gt;      if (m_page &amp;&amp; m_page-&gt;platformWindow()) {
&gt; 
&gt; WebKit coding style proposes a style called early exit. Since this code already has &quot;return&quot; statements in it, I think it’s a good candidate for that style.

There is another if closure after, which is in parallel with this one. Just doing an early return here might not be sufficient.

&gt;&gt; Source/WebKit/UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm:301
&gt;&gt; +        if (auto *presentingWindow = m_page-&gt;platformWindow()) {
&gt; 
&gt; Why is it valuable to check this for null again? The line of code just above this already checks it for null. This patch seems to be based on an incorrect assumption that it’s not.

Right, I checked that already. I will double check where could cause a null pointer dereference on m_page.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1676766</commentid>
    <comment_count>5</comment_count>
      <attachid>405676</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-07-31 01:45:02 -0700</bug_when>
    <thetext>Created attachment 405676
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1676779</commentid>
    <comment_count>6</comment_count>
      <attachid>405676</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-07-31 02:46:18 -0700</bug_when>
    <thetext>Comment on attachment 405676
Patch

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

&gt; Source/WebKit/ChangeLog:10
&gt; +        needs to check WebPageProxy:isClosed() befored calling platformWindow().

It seems that WebPageProxy::platformWindow implementation is brittle.
Shouldn&apos;t we then update WebPageProxy::platformWindow so that it checks that m_pageClient is not null and, if null, return nil?
Is it possible to write a test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1676906</commentid>
    <comment_count>7</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-07-31 12:06:36 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #6)
&gt; Comment on attachment 405676 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=405676&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/ChangeLog:10
&gt; &gt; +        needs to check WebPageProxy:isClosed() befored calling platformWindow().
&gt; 
&gt; It seems that WebPageProxy::platformWindow implementation is brittle.
&gt; Shouldn&apos;t we then update WebPageProxy::platformWindow so that it checks that
&gt; m_pageClient is not null and, if null, return nil?
&gt; Is it possible to write a test?

Unfortunately, it&apos;s not trivial to do the null check on platformWindow().
NSWindow *WebPageProxy::platformWindow()
{
    return pageClient().platformWindow();
}

pageClient() returns a reference. And for pageClient():
PageClient&amp; WebPageProxy::pageClient() const
{
    ASSERT(m_pageClient);
    return *m_pageClient;
}

It seems to me a too large a change to make pageClient() return a pointer instead of a reference for fixing this crash and might very well be too large to land for the upcoming release.

I remember last time when I tried to write such a test, I failed. See Bug 199755. So, it&apos;s not trivial to write a test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1676907</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-07-31 12:09:43 -0700</bug_when>
    <thetext>(In reply to Jiewen Tan from comment #7)
&gt; Unfortunately, it&apos;s not trivial to do the null check on platformWindow().
&gt; NSWindow *WebPageProxy::platformWindow()
&gt; {
&gt;     return pageClient().platformWindow();
&gt; }

    return m_pageClient ? m_pageClient-&gt;platformWindow() : nullptr;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1676911</commentid>
    <comment_count>9</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-07-31 12:31:25 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #8)
&gt; (In reply to Jiewen Tan from comment #7)
&gt; &gt; Unfortunately, it&apos;s not trivial to do the null check on platformWindow().
&gt; &gt; NSWindow *WebPageProxy::platformWindow()
&gt; &gt; {
&gt; &gt;     return pageClient().platformWindow();
&gt; &gt; }
&gt; 
&gt;     return m_pageClient ? m_pageClient-&gt;platformWindow() : nullptr;

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1676915</commentid>
    <comment_count>10</comment_count>
      <attachid>405721</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-07-31 12:33:27 -0700</bug_when>
    <thetext>Created attachment 405721
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1676923</commentid>
    <comment_count>11</comment_count>
      <attachid>405721</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-07-31 12:47:40 -0700</bug_when>
    <thetext>Comment on attachment 405721
Patch

Can we remove the isClosed check?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1676924</commentid>
    <comment_count>12</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-07-31 12:50:02 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #11)
&gt; Comment on attachment 405721 [details]
&gt; Patch
&gt; 
&gt; Can we remove the isClosed check?

Sure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1676930</commentid>
    <comment_count>13</comment_count>
      <attachid>405726</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-07-31 12:59:00 -0700</bug_when>
    <thetext>Created attachment 405726
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1676931</commentid>
    <comment_count>14</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-07-31 12:59:27 -0700</bug_when>
    <thetext>Thanks Youenn and Darin for reviewing this patch!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1676955</commentid>
    <comment_count>15</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-31 13:39:09 -0700</bug_when>
    <thetext>Committed r265158: &lt;https://trac.webkit.org/changeset/265158&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 405726.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405261</attachid>
            <date>2020-07-26 23:37:51 -0700</date>
            <delta_ts>2020-07-31 01:45:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214816-20200726233750.patch</filename>
            <type>text/plain</type>
            <size>2980</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0OTA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDdlMjM0N2IxMDM5NThjNTFk
MGYzNTZhOWRiODhiMjc0ZTVmMGNjNTMuLjQ0YmI4NDUzMzQ2NTQ5ZTI2ZjA2YzNmMDI1ZjliNmU2
ZGEzOTMyNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjAtMDctMjYgIEppZXdlbiBU
YW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KKworICAgICAgICBTT0F1dGhvcml6YXRpb25TZXNz
aW9uOjpkaXNtaXNzVmlld0NvbnRyb2xsZXIgcHJlc2VudGluZ1dpbmRvdyBjb3VsZCBiZSBudWxs
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ4MTYK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY1NjgxNTMwPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1NPQXV0aG9yaXph
dGlvbi9TT0F1dGhvcml6YXRpb25TZXNzaW9uLm1tOgorICAgICAgICAoV2ViS2l0OjpTT0F1dGhv
cml6YXRpb25TZXNzaW9uOjpkaXNtaXNzVmlld0NvbnRyb2xsZXIpOgorCiAyMDIwLTA3LTI1ICBT
aW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFNjcm9sbCBT
bmFwIGJyb2tlbiB3aGVuIHVzaW5nIFJUTCBsYXlvdXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1NPQXV0aG9yaXphdGlvbi9TT0F1dGhvcml6YXRpb25TZXNzaW9u
Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvU09BdXRob3JpemF0aW9uL1NPQXV0
aG9yaXphdGlvblNlc3Npb24ubW0KaW5kZXggYzA0MzhiZGRjMWZkMDMwODNhNDJlOTM4NjE5YjQ5
Y2U2ODVlYTU4ZC4uYmE2YzdjZGU0ZjhjNGM5MTU0NjFmNjQxZjE4M2I4ODI4MmI0NWM0YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvU09BdXRob3JpemF0aW9uL1NP
QXV0aG9yaXphdGlvblNlc3Npb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvU09BdXRob3JpemF0aW9uL1NPQXV0aG9yaXphdGlvblNlc3Npb24ubW0KQEAgLTI5OCwxNiAr
Mjk4LDE3IEBAIHZvaWQgU09BdXRob3JpemF0aW9uU2Vzc2lvbjo6ZGlzbWlzc1ZpZXdDb250cm9s
bGVyKCkKICAgICAvLyBUaGlzIGlzIGEgd29ya2Fyb3VuZCBmb3IgYW4gQXBwS2l0IGlzc3VlOiA8
cmRhcjovL3Byb2JsZW0vNTkxMjUzMjk+LgogICAgIC8vIFttX3NoZWV0V2luZG93IHNoZWV0UGFy
ZW50XSBpcyBudWxsIGlmIHRoZSBwYXJlbnQgaXMgbWluaW1pemVkIG9yIHRoZSBob3N0IGFwcCBp
cyBoaWRkZW4uCiAgICAgaWYgKG1fcGFnZSAmJiBtX3BhZ2UtPnBsYXRmb3JtV2luZG93KCkpIHsK
LSAgICAgICAgYXV0byAqcHJlc2VudGluZ1dpbmRvdyA9IG1fcGFnZS0+cGxhdGZvcm1XaW5kb3co
KTsKLSAgICAgICAgaWYgKHByZXNlbnRpbmdXaW5kb3cubWluaWF0dXJpemVkKSB7Ci0gICAgICAg
ICAgICBpZiAobV9wcmVzZW50aW5nV2luZG93RGlkRGVtaW5pYXR1cml6ZU9ic2VydmVyKQorICAg
ICAgICBpZiAoYXV0byAqcHJlc2VudGluZ1dpbmRvdyA9IG1fcGFnZS0+cGxhdGZvcm1XaW5kb3co
KSkgeworICAgICAgICAgICAgaWYgKHByZXNlbnRpbmdXaW5kb3cubWluaWF0dXJpemVkKSB7Cisg
ICAgICAgICAgICAgICAgaWYgKG1fcHJlc2VudGluZ1dpbmRvd0RpZERlbWluaWF0dXJpemVPYnNl
cnZlcikKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgIG1fcHJl
c2VudGluZ1dpbmRvd0RpZERlbWluaWF0dXJpemVPYnNlcnZlciA9IFtbTlNOb3RpZmljYXRpb25D
ZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXJGb3JOYW1lOk5TV2luZG93RGlkRGVtaW5p
YXR1cml6ZU5vdGlmaWNhdGlvbiBvYmplY3Q6cHJlc2VudGluZ1dpbmRvdyBxdWV1ZTpuaWwgdXNp
bmdCbG9jazpbcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWZQdHIodGhpcyksIHRoaXNdIChOU05vdGlm
aWNhdGlvbiAqKSB7CisgICAgICAgICAgICAgICAgICAgIGRpc21pc3NWaWV3Q29udHJvbGxlcigp
OworICAgICAgICAgICAgICAgICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50
ZXJdIHJlbW92ZU9ic2VydmVyOm1fcHJlc2VudGluZ1dpbmRvd0RpZERlbWluaWF0dXJpemVPYnNl
cnZlci5nZXQoKV07CisgICAgICAgICAgICAgICAgICAgIG1fcHJlc2VudGluZ1dpbmRvd0RpZERl
bWluaWF0dXJpemVPYnNlcnZlciA9IG51bGxwdHI7CisgICAgICAgICAgICAgICAgfV07CiAgICAg
ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgbV9wcmVzZW50aW5nV2luZG93RGlkRGVt
aW5pYXR1cml6ZU9ic2VydmVyID0gW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVy
XSBhZGRPYnNlcnZlckZvck5hbWU6TlNXaW5kb3dEaWREZW1pbmlhdHVyaXplTm90aWZpY2F0aW9u
IG9iamVjdDpwcmVzZW50aW5nV2luZG93IHF1ZXVlOm5pbCB1c2luZ0Jsb2NrOltwcm90ZWN0ZWRU
aGlzID0gbWFrZVJlZlB0cih0aGlzKSwgdGhpc10gKE5TTm90aWZpY2F0aW9uICopIHsKLSAgICAg
ICAgICAgICAgICBkaXNtaXNzVmlld0NvbnRyb2xsZXIoKTsKLSAgICAgICAgICAgICAgICBbW05T
Tm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJlbW92ZU9ic2VydmVyOm1fcHJlc2Vu
dGluZ1dpbmRvd0RpZERlbWluaWF0dXJpemVPYnNlcnZlci5nZXQoKV07Ci0gICAgICAgICAgICAg
ICAgbV9wcmVzZW50aW5nV2luZG93RGlkRGVtaW5pYXR1cml6ZU9ic2VydmVyID0gbnVsbHB0cjsK
LSAgICAgICAgICAgIH1dOwotICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQogICAg
ICAgICB9CiAgICAgfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405676</attachid>
            <date>2020-07-31 01:45:02 -0700</date>
            <delta_ts>2020-07-31 12:33:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214816-20200731014501.patch</filename>
            <type>text/plain</type>
            <size>1941</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0OTA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDdlMjM0N2IxMDM5NThjNTFk
MGYzNTZhOWRiODhiMjc0ZTVmMGNjNTMuLmUzZTY1YmI1NTgzMDljYTBmNjk0OTFlYjFjZmFlMDcz
MGI3ZDIwMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDctMzEgIEppZXdlbiBU
YW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KKworICAgICAgICBTT0F1dGhvcml6YXRpb25TZXNz
aW9uOjpkaXNtaXNzVmlld0NvbnRyb2xsZXIgY291bGQgY3Jhc2ggb24gY2FsbGluZyBXZWJQYWdl
UHJveHk6OnBsYXRmb3JtV2luZG93CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTQ4MTYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY1NjgxNTMwPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHBhZ2VDbGll
bnQoKSBjYWxsZWQgaW4gV2ViUGFnZVByb3h5OjpwbGF0Zm9ybVdpbmRvdygpIGNvdWxkIGJlIG51
bGwuIFRoZXJlZm9yZSwgY2FsbGVycyBvZiBwbGF0Zm9ybVdpbmRvdygpCisgICAgICAgIG5lZWRz
IHRvIGNoZWNrIFdlYlBhZ2VQcm94eTppc0Nsb3NlZCgpIGJlZm9yZWQgY2FsbGluZyBwbGF0Zm9y
bVdpbmRvdygpLgorCisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1NPQXV0aG9yaXphdGlvbi9T
T0F1dGhvcml6YXRpb25TZXNzaW9uLm1tOgorICAgICAgICAoV2ViS2l0OjpTT0F1dGhvcml6YXRp
b25TZXNzaW9uOjpkaXNtaXNzVmlld0NvbnRyb2xsZXIpOgorCiAyMDIwLTA3LTI1ICBTaW1vbiBG
cmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFNjcm9sbCBTbmFwIGJy
b2tlbiB3aGVuIHVzaW5nIFJUTCBsYXlvdXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1NPQXV0aG9yaXphdGlvbi9TT0F1dGhvcml6YXRpb25TZXNzaW9uLm1tIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvU09BdXRob3JpemF0aW9uL1NPQXV0aG9yaXph
dGlvblNlc3Npb24ubW0KaW5kZXggYzA0MzhiZGRjMWZkMDMwODNhNDJlOTM4NjE5YjQ5Y2U2ODVl
YTU4ZC4uMzRmNjU0NWFhN2UxN2ZlZDNkM2VmNzVkMGRmZjlhMGJkOGY1MmUyYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvU09BdXRob3JpemF0aW9uL1NPQXV0aG9y
aXphdGlvblNlc3Npb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvU09B
dXRob3JpemF0aW9uL1NPQXV0aG9yaXphdGlvblNlc3Npb24ubW0KQEAgLTI5Nyw3ICsyOTcsNyBA
QCB2b2lkIFNPQXV0aG9yaXphdGlvblNlc3Npb246OmRpc21pc3NWaWV3Q29udHJvbGxlcigpCiAK
ICAgICAvLyBUaGlzIGlzIGEgd29ya2Fyb3VuZCBmb3IgYW4gQXBwS2l0IGlzc3VlOiA8cmRhcjov
L3Byb2JsZW0vNTkxMjUzMjk+LgogICAgIC8vIFttX3NoZWV0V2luZG93IHNoZWV0UGFyZW50XSBp
cyBudWxsIGlmIHRoZSBwYXJlbnQgaXMgbWluaW1pemVkIG9yIHRoZSBob3N0IGFwcCBpcyBoaWRk
ZW4uCi0gICAgaWYgKG1fcGFnZSAmJiBtX3BhZ2UtPnBsYXRmb3JtV2luZG93KCkpIHsKKyAgICBp
ZiAobV9wYWdlICYmICFtX3BhZ2UtPmlzQ2xvc2VkKCkgJiYgbV9wYWdlLT5wbGF0Zm9ybVdpbmRv
dygpKSB7CiAgICAgICAgIGF1dG8gKnByZXNlbnRpbmdXaW5kb3cgPSBtX3BhZ2UtPnBsYXRmb3Jt
V2luZG93KCk7CiAgICAgICAgIGlmIChwcmVzZW50aW5nV2luZG93Lm1pbmlhdHVyaXplZCkgewog
ICAgICAgICAgICAgaWYgKG1fcHJlc2VudGluZ1dpbmRvd0RpZERlbWluaWF0dXJpemVPYnNlcnZl
cikK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405721</attachid>
            <date>2020-07-31 12:33:27 -0700</date>
            <delta_ts>2020-07-31 12:47:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214816-20200731123327.patch</filename>
            <type>text/plain</type>
            <size>2668</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0OTA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDdlMjM0N2IxMDM5NThjNTFk
MGYzNTZhOWRiODhiMjc0ZTVmMGNjNTMuLjc0NmNmMWFmNDVmZGI0ODVjMjMwNzcyNjhlYWM1MThj
ZjlhMmE4YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDctMzEgIEppZXdlbiBU
YW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KKworICAgICAgICBTT0F1dGhvcml6YXRpb25TZXNz
aW9uOjpkaXNtaXNzVmlld0NvbnRyb2xsZXIgY291bGQgY3Jhc2ggb24gY2FsbGluZyBXZWJQYWdl
UHJveHk6OnBsYXRmb3JtV2luZG93CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTQ4MTYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY1NjgxNTMwPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHBhZ2VDbGll
bnQoKSBjYWxsZWQgaW4gV2ViUGFnZVByb3h5OjpwbGF0Zm9ybVdpbmRvdygpIGNvdWxkIGJlIG51
bGwuIFRoZXJlZm9yZSwgY2FsbGVycyBvZiBwbGF0Zm9ybVdpbmRvdygpCisgICAgICAgIG5lZWRz
IHRvIGNoZWNrIFdlYlBhZ2VQcm94eTppc0Nsb3NlZCgpIGJlZm9yZWQgY2FsbGluZyBwbGF0Zm9y
bVdpbmRvdygpLgorCisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1NPQXV0aG9yaXphdGlvbi9T
T0F1dGhvcml6YXRpb25TZXNzaW9uLm1tOgorICAgICAgICAoV2ViS2l0OjpTT0F1dGhvcml6YXRp
b25TZXNzaW9uOjpkaXNtaXNzVmlld0NvbnRyb2xsZXIpOgorICAgICAgICAqIFVJUHJvY2Vzcy9t
YWMvV2ViUGFnZVByb3h5TWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnBs
YXRmb3JtV2luZG93KToKKwogMjAyMC0wNy0yNSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2Vy
QGFwcGxlLmNvbT4KIAogICAgICAgICBTY3JvbGwgU25hcCBicm9rZW4gd2hlbiB1c2luZyBSVEwg
bGF5b3V0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9TT0F1dGhv
cml6YXRpb24vU09BdXRob3JpemF0aW9uU2Vzc2lvbi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1NPQXV0aG9yaXphdGlvbi9TT0F1dGhvcml6YXRpb25TZXNzaW9uLm1tCmluZGV4
IGMwNDM4YmRkYzFmZDAzMDgzYTQyZTkzODYxOWI0OWNlNjg1ZWE1OGQuLjM0ZjY1NDVhYTdlMTdm
ZWQzZDNlZjc1ZDBkZmY5YTBiZDhmNTJlMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1NPQXV0aG9yaXphdGlvbi9TT0F1dGhvcml6YXRpb25TZXNzaW9uLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1NPQXV0aG9yaXphdGlvbi9TT0F1dGhv
cml6YXRpb25TZXNzaW9uLm1tCkBAIC0yOTcsNyArMjk3LDcgQEAgdm9pZCBTT0F1dGhvcml6YXRp
b25TZXNzaW9uOjpkaXNtaXNzVmlld0NvbnRyb2xsZXIoKQogCiAgICAgLy8gVGhpcyBpcyBhIHdv
cmthcm91bmQgZm9yIGFuIEFwcEtpdCBpc3N1ZTogPHJkYXI6Ly9wcm9ibGVtLzU5MTI1MzI5Pi4K
ICAgICAvLyBbbV9zaGVldFdpbmRvdyBzaGVldFBhcmVudF0gaXMgbnVsbCBpZiB0aGUgcGFyZW50
IGlzIG1pbmltaXplZCBvciB0aGUgaG9zdCBhcHAgaXMgaGlkZGVuLgotICAgIGlmIChtX3BhZ2Ug
JiYgbV9wYWdlLT5wbGF0Zm9ybVdpbmRvdygpKSB7CisgICAgaWYgKG1fcGFnZSAmJiAhbV9wYWdl
LT5pc0Nsb3NlZCgpICYmIG1fcGFnZS0+cGxhdGZvcm1XaW5kb3coKSkgewogICAgICAgICBhdXRv
ICpwcmVzZW50aW5nV2luZG93ID0gbV9wYWdlLT5wbGF0Zm9ybVdpbmRvdygpOwogICAgICAgICBp
ZiAocHJlc2VudGluZ1dpbmRvdy5taW5pYXR1cml6ZWQpIHsKICAgICAgICAgICAgIGlmIChtX3By
ZXNlbnRpbmdXaW5kb3dEaWREZW1pbmlhdHVyaXplT2JzZXJ2ZXIpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1hYy5tbQppbmRleCBkNTU4ZWQyZDY3YmM5MzFl
YjI2YzhlYjY0MmI3NTY2ZGIwZGZiYWNjLi5hYmZkZWQ0Mzg5MjZlNTY4MjYxN2Y4M2ZhYTA5YjY1
ODcyZDA1MWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViUGFn
ZVByb3h5TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJv
eHlNYWMubW0KQEAgLTYyNSw3ICs2MjUsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c3RhcnRXaW5k
b3dEcmFnKCkKIAogTlNXaW5kb3cgKldlYlBhZ2VQcm94eTo6cGxhdGZvcm1XaW5kb3coKQogewot
ICAgIHJldHVybiBwYWdlQ2xpZW50KCkucGxhdGZvcm1XaW5kb3coKTsKKyAgICByZXR1cm4gbV9w
YWdlQ2xpZW50ID8gbV9wYWdlQ2xpZW50LT5wbGF0Zm9ybVdpbmRvdygpIDogbnVsbHB0cjsKIH0K
IAogdm9pZCBXZWJQYWdlUHJveHk6OnJvb3RWaWV3VG9XaW5kb3coY29uc3QgV2ViQ29yZTo6SW50
UmVjdCYgdmlld1JlY3QsIFdlYkNvcmU6OkludFJlY3QmIHdpbmRvd1JlY3QpCg==
</data>
<flag name="review"
          id="421113"
          type_id="1"
          status="+"
          setter="youennf"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405726</attachid>
            <date>2020-07-31 12:59:00 -0700</date>
            <delta_ts>2020-07-31 13:39:09 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-214816-20200731125859.patch</filename>
            <type>text/plain</type>
            <size>1539</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0OTA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDdlMjM0N2IxMDM5NThjNTFk
MGYzNTZhOWRiODhiMjc0ZTVmMGNjNTMuLmZjYzk4YzRmMDljZGYzMzQwNzNlN2NlOTk2OWQ4NTQx
ZDkyOGE1YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDctMzEgIEppZXdlbiBU
YW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KKworICAgICAgICBTT0F1dGhvcml6YXRpb25TZXNz
aW9uOjpkaXNtaXNzVmlld0NvbnRyb2xsZXIgY291bGQgY3Jhc2ggb24gY2FsbGluZyBXZWJQYWdl
UHJveHk6OnBsYXRmb3JtV2luZG93CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTQ4MTYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY1NjgxNTMwPgor
CisgICAgICAgIFJldmlld2VkIGJ5IFlvdWVubiBGYWJsZXQuCisKKyAgICAgICAgcGFnZUNsaWVu
dCgpIGNhbGxlZCBpbiBXZWJQYWdlUHJveHk6OnBsYXRmb3JtV2luZG93KCkgY291bGQgYmUgbnVs
bC4gVGhlcmVmb3JlLCBwbGF0Zm9ybVdpbmRvdygpCisgICAgICAgIG5lZWRzIHRvIGNoZWNrIG1f
cGFnZUNsaWVudCBpbnN0ZWFkLgorCisgICAgICAgICogVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJv
eHlNYWMubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cGxhdGZvcm1XaW5kb3cp
OgorCiAyMDIwLTA3LTI1ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgog
CiAgICAgICAgIFNjcm9sbCBTbmFwIGJyb2tlbiB3aGVuIHVzaW5nIFJUTCBsYXlvdXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJveHlNYWMubW0gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tCmluZGV4IGQ1NThl
ZDJkNjdiYzkzMWViMjZjOGViNjQyYjc1NjZkYjBkZmJhY2MuLmFiZmRlZDQzODkyNmU1NjgyNjE3
ZjgzZmFhMDliNjU4NzJkMDUxYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L21hYy9XZWJQYWdlUHJveHlNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFj
L1dlYlBhZ2VQcm94eU1hYy5tbQpAQCAtNjI1LDcgKzYyNSw3IEBAIHZvaWQgV2ViUGFnZVByb3h5
OjpzdGFydFdpbmRvd0RyYWcoKQogCiBOU1dpbmRvdyAqV2ViUGFnZVByb3h5OjpwbGF0Zm9ybVdp
bmRvdygpCiB7Ci0gICAgcmV0dXJuIHBhZ2VDbGllbnQoKS5wbGF0Zm9ybVdpbmRvdygpOworICAg
IHJldHVybiBtX3BhZ2VDbGllbnQgPyBtX3BhZ2VDbGllbnQtPnBsYXRmb3JtV2luZG93KCkgOiBu
dWxscHRyOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6cm9vdFZpZXdUb1dpbmRvdyhjb25zdCBX
ZWJDb3JlOjpJbnRSZWN0JiB2aWV3UmVjdCwgV2ViQ29yZTo6SW50UmVjdCYgd2luZG93UmVjdCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>