<?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>220668</bug_id>
          
          <creation_ts>2021-01-15 13:48:24 -0800</creation_ts>
          <short_desc>Syscall param sendmsg(msg.msg_iov[1]) points to uninitialised byte(s) in IPC::Connection::sendOutgoingMessage</short_desc>
          <delta_ts>2021-01-19 15:50:46 -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>WebKitGTK</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=146729</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Catanzaro">mcatanzaro</reporter>
          <assigned_to name="Michael Catanzaro">mcatanzaro</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>darin</cc>
    
    <cc>fujii</cc>
    
    <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1719987</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-01-15 13:48:24 -0800</bug_when>
    <thetext>This is a follow-up to bug #146729. We previously discovered that we need to either (a) manually zero the MessageInfo struct with memcpy (accepted solution), or b) use __attribute__((packed)) to omit struct packing. This seemed to fix our valgrind warnings when bmalloc was in use, but not when bmalloc is disabled, as is good practice when valgrinding.

Turns out we need to zero (or pack) the AttachmentInfo struct as well. Let&apos;s go with zeroing it, since it is a trivially-copyable type, so it&apos;s safe to do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719992</commentid>
    <comment_count>1</comment_count>
      <attachid>417731</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-01-15 13:51:34 -0800</bug_when>
    <thetext>Created attachment 417731
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719997</commentid>
    <comment_count>2</comment_count>
      <attachid>417731</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-01-15 13:57:33 -0800</bug_when>
    <thetext>Comment on attachment 417731
Patch

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

&gt; Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp:72
&gt; +    AttachmentInfo()
&gt; +    {
&gt; +        // The entire AttachmentInfo is passed to write(), so we have to zero our
&gt; +        // padding bytes to avoid writing uninitialized memory.
&gt; +        memset(this, 0, sizeof(*this));
&gt; +    }

Don’t we need this for the copy and move constructors too? They are compiler generated, we do not delete them, it seems unlikely they guarantee they zero out the padding bytes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720025</commentid>
    <comment_count>3</comment_count>
      <attachid>417731</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-01-15 14:31:14 -0800</bug_when>
    <thetext>Comment on attachment 417731
Patch

Yup, good point.

In practice, the copy and move constructors are not used, but let&apos;s be robust about this....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720047</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-01-15 14:59:16 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #3)
&gt; In practice, the copy and move constructors are not used, but let&apos;s be
&gt; robust about this....

If we want to take advantage of the fact that they are not used, we could delete them instead of implementing them correctly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720050</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-01-15 15:07:00 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #4)
&gt; If we want to take advantage of the fact that they are not used, we could
&gt; delete them instead of implementing them correctly.

OK. I&apos;ll do so for MessageInfo as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720054</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-01-15 15:17:34 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #3)
&gt; In practice, the copy and move constructors are not used

I&apos;m wrong. They are used, though somehow not in a way that results in valgrind complaining.

I&apos;ll implement them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720059</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-01-15 15:39:38 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #6)
&gt; I&apos;m wrong. They are used, though somehow not in a way that results in
&gt; valgrind complaining.
&gt; 
&gt; I&apos;ll implement them.

That failed because implementing the copy constructor means the type is no longer trivially-copyable, so we wind up with -Wclass-memaccess warnings when trying to memcpy it. The way to avoid those warnings is to cast the pointers to void* to indicate &quot;I know what I&apos;m doing,&quot; but at this point the code is getting a bit messy. Deleting the copy constructor has the same problem.

So... I arrive back at my original patch here, but the original patch is not fully satisfying because it doesn&apos;t fully prevent uninitialized struct padding. Maybe we should just pack the structs and be done with it? Or maybe I should remove the constructors and use static create functions instead? Let me think about this....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720060</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-01-15 15:42:57 -0800</bug_when>
    <thetext>I think the memcpy with void* cast (presumably a static_cast) is a completely logical partner to the use of memset in the default constructor, even though it’s a bit ugly.

The whole thing is irritating: nothing WebKit-specific here. I wonder how others solve this problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720174</commentid>
    <comment_count>9</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-01-17 05:17:03 -0800</bug_when>
    <thetext>I&apos;m going to attach two patches:

 (1) Using memcpy() to zero the struct, as before
 (2) Using __attribute__((packed)) instead

(1) is getting a little messy. I think I prefer (2). It&apos;s not standard C++, but this is a platform-specific file anyway. Since struct members will no longer be aligned, it should perform worse, but this is IPC code anyway so any impact should be dwarfed by the cost of IPC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720175</commentid>
    <comment_count>10</comment_count>
      <attachid>417777</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-01-17 05:26:18 -0800</bug_when>
    <thetext>Created attachment 417777
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720176</commentid>
    <comment_count>11</comment_count>
      <attachid>417778</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-01-17 05:36:16 -0800</bug_when>
    <thetext>Created attachment 417778
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720453</commentid>
    <comment_count>12</comment_count>
      <attachid>417778</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-01-18 19:07:58 -0800</bug_when>
    <thetext>Comment on attachment 417778
Patch

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

&gt; Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp:90
&gt;      size_t m_size { 0 };

This makes m_size unaligned.
How about an idea adding padding?

    size_t m_size { 0 };
    Attachment::Type m_type { Attachment::Uninitialized };
    bool m_isNull { false };
    char m_padding[sizeof(Attachment::Type) - sizeof(bool)] = {};</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720454</commentid>
    <comment_count>13</comment_count>
      <attachid>417778</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-01-18 19:10:32 -0800</bug_when>
    <thetext>Comment on attachment 417778
Patch

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

&gt;&gt; Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp:90
&gt;&gt;      size_t m_size { 0 };
&gt; 
&gt; This makes m_size unaligned.
&gt; How about an idea adding padding?
&gt; 
&gt;     size_t m_size { 0 };
&gt;     Attachment::Type m_type { Attachment::Uninitialized };
&gt;     bool m_isNull { false };
&gt;     char m_padding[sizeof(Attachment::Type) - sizeof(bool)] = {};

Oops. I missed your comment 9.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720455</commentid>
    <comment_count>14</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-01-18 19:12:53 -0800</bug_when>
    <thetext>Can Valgrind suppress the warning by memset after resize?

  attachmentInfo.resize(attachments.size());
  memset(attachmentInfo.data(), sizeof(AttachmentInfo) * attachments.size(), 0);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720456</commentid>
    <comment_count>15</comment_count>
      <attachid>417777</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-01-18 19:15:54 -0800</bug_when>
    <thetext>Comment on attachment 417777
Patch

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

&gt; Source/WebKit/ChangeLog:19
&gt; +        the original fix to MessageInfo.

If this patch is to suppress the Valgrind warning, I think we don&apos;t need them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720461</commentid>
    <comment_count>16</comment_count>
      <attachid>417777</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-01-18 20:01:39 -0800</bug_when>
    <thetext>Comment on attachment 417777
Patch

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

&gt; Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp:113
&gt; +    // The AttachmentInfo will be copied using memcpy, so all members must be trivially copyable.

Why did you remove the initializer even though you don&apos;t remove that of MessageInfo?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720462</commentid>
    <comment_count>17</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-01-18 20:45:13 -0800</bug_when>
    <thetext>I don&apos;t like the unaligned access just for suppressing Valgrind warning.
I prefer (1). I&apos;d like to remove other constructors if possible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720514</commentid>
    <comment_count>18</comment_count>
      <attachid>417777</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-01-19 06:17:59 -0800</bug_when>
    <thetext>Comment on attachment 417777
Patch

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

&gt;&gt; Source/WebKit/ChangeLog:19
&gt;&gt; +        the original fix to MessageInfo.
&gt; 
&gt; If this patch is to suppress the Valgrind warning, I think we don&apos;t need them.

The copy/move constructors are indeed not needed to suppress the valgrind warning, but Darin requested them for robustness to ensure a MessageInfo/AttachmentInfo cannot be created with uninitialized padding.

Then the copy/move assignment operators are required if we implement the constructors, but these can use = default since the padding is already initialized at this point.

&gt;&gt; Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp:113
&gt;&gt; +    // The AttachmentInfo will be copied using memcpy, so all members must be trivially copyable.
&gt; 
&gt; Why did you remove the initializer even though you don&apos;t remove that of MessageInfo?

An oversight, good catch. I should remove the initializers from MessageInfo as well, since they are useless when the whole struct is initialized to 0 with memcpy().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720515</commentid>
    <comment_count>19</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-01-19 06:18:18 -0800</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #14)
&gt; Can Valgrind suppress the warning by memset after resize?
&gt; 
&gt;   attachmentInfo.resize(attachments.size());
&gt;   memset(attachmentInfo.data(), sizeof(AttachmentInfo) * attachments.size(),
&gt; 0);

I think it should work. Let me test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720536</commentid>
    <comment_count>20</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-01-19 08:41:58 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #19)
&gt; (In reply to Fujii Hironori from comment #14)
&gt; &gt; Can Valgrind suppress the warning by memset after resize?
&gt; &gt; 
&gt; &gt;   attachmentInfo.resize(attachments.size());
&gt; &gt;   memset(attachmentInfo.data(), sizeof(AttachmentInfo) * attachments.size(),
&gt; &gt; 0);
&gt; 
&gt; I think it should work. Let me test.

Doesn&apos;t work, not sure why:

==74618== Syscall param sendmsg(msg.msg_iov[1]) points to uninitialised byte(s)
==74618==    at 0xD6BEECD: sendmsg (in /usr/lib64/libpthread-2.32.so)
==74618==    by 0x6594195: IPC::Connection::sendOutputMessage(IPC::UnixMessage&amp;) (ConnectionUnix.cpp:520)
==74618==    by 0x6595DC4: IPC::Connection::sendOutgoingMessage(std::unique_ptr&lt;IPC::Encoder, std::default_delete&lt;IPC::Encoder&gt; &gt;) (ConnectionUnix.cpp:437)
==74618==    by 0x658808D: sendOutgoingMessages (Connection.cpp:911)
==74618==    by 0x658808D: IPC::Connection::sendOutgoingMessages() (Connection.cpp:896)
==74618==    by 0xB2C9672: operator() (Function.h:83)
==74618==    by 0xB2C9672: WTF::RunLoop::performWork() (RunLoop.cpp:128)
==74618==    by 0xB316B98: operator() (RunLoopGLib.cpp:80)
==74618==    by 0xB316B98: WTF::RunLoop::RunLoop()::{lambda(void*)#1}::_FUN(void*) (RunLoopGLib.cpp:82)
==74618==    by 0xB31747E: operator() (RunLoopGLib.cpp:53)
==74618==    by 0xB31747E: WTF::RunLoop::{lambda(_GSource*, int (*)(void*), void*)#1}::_FUN(_GSource*, int (*)(void*), void*) (RunLoopGLib.cpp:56)
==74618==    by 0x48A410F: g_main_dispatch (gmain.c:3325)
==74618==    by 0x48A5032: g_main_context_dispatch (gmain.c:4043)
==74618==    by 0x48A521E: g_main_context_iterate (gmain.c:4119)
==74618==    by 0x48A5676: g_main_loop_run (gmain.c:4317)
==74618==    by 0xB31759F: WTF::RunLoop::run() (RunLoopGLib.cpp:108)
==74618==  Address 0x1fa65eb5 is 5 bytes inside a block of size 256 alloc&apos;d
==74618==    at 0x4839809: malloc (vg_replace_malloc.c:307)
==74618==    by 0xB31EDBA: bmalloc::DebugHeap::malloc(unsigned long, bmalloc::FailureAction) (DebugHeap.cpp:98)
==74618==    by 0x659409E: malloc (FastMalloc.h:240)
==74618==    by 0x659409E: allocateBuffer&lt;(WTF::FailureAction)0&gt; (Vector.h:301)
==74618==    by 0x659409E: reserveCapacity&lt;(WTF::FailureAction)0&gt; (Vector.h:1195)
==74618==    by 0x659409E: reserveCapacity&lt;(WTF::FailureAction)0&gt; (Vector.h:1185)
==74618==    by 0x659409E: expandCapacity&lt;(WTF::FailureAction)0&gt; (Vector.h:1056)
==74618==    by 0x659409E: resize (Vector.h:1102)
==74618==    by 0x659409E: IPC::Connection::sendOutputMessage(IPC::UnixMessage&amp;) (ConnectionUnix.cpp:484)
==74618==    by 0x6595DC4: IPC::Connection::sendOutgoingMessage(std::unique_ptr&lt;IPC::Encoder, std::default_delete&lt;IPC::Encoder&gt; &gt;) (ConnectionUnix.cpp:437)
==74618==    by 0x658808D: sendOutgoingMessages (Connection.cpp:911)
==74618==    by 0x658808D: IPC::Connection::sendOutgoingMessages() (Connection.cpp:896)
==74618==    by 0xB2C9672: operator() (Function.h:83)
==74618==    by 0xB2C9672: WTF::RunLoop::performWork() (RunLoop.cpp:128)
==74618==    by 0xB316B98: operator() (RunLoopGLib.cpp:80)
==74618==    by 0xB316B98: WTF::RunLoop::RunLoop()::{lambda(void*)#1}::_FUN(void*) (RunLoopGLib.cpp:82)
==74618==    by 0xB31747E: operator() (RunLoopGLib.cpp:53)
==74618==    by 0xB31747E: WTF::RunLoop::{lambda(_GSource*, int (*)(void*), void*)#1}::_FUN(_GSource*, int (*)(void*), void*) (RunLoopGLib.cpp:56)
==74618==    by 0x48A410F: g_main_dispatch (gmain.c:3325)
==74618==    by 0x48A5032: g_main_context_dispatch (gmain.c:4043)
==74618==    by 0x48A521E: g_main_context_iterate (gmain.c:4119)
==74618==    by 0x48A5676: g_main_loop_run (gmain.c:4317)
==74618==</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720537</commentid>
    <comment_count>21</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-01-19 08:51:54 -0800</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #12)
&gt; Comment on attachment 417778 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=417778&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp:90
&gt; &gt;      size_t m_size { 0 };
&gt; 
&gt; This makes m_size unaligned.
&gt; How about an idea adding padding?
&gt; 
&gt;     size_t m_size { 0 };
&gt;     Attachment::Type m_type { Attachment::Uninitialized };
&gt;     bool m_isNull { false };
&gt;     char m_padding[sizeof(Attachment::Type) - sizeof(bool)] = {};

This actually does work. Clever. I don&apos;t like it very much compared to my other patches... but it does work.

If anyone else has a preference, please say so. Otherwise, let&apos;s go with option (1) I guess, since nobody has objected to it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720544</commentid>
    <comment_count>22</comment_count>
      <attachid>417777</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-01-19 09:24:32 -0800</bug_when>
    <thetext>Comment on attachment 417777
Patch

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

&gt; Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp:80
&gt; +    AttachmentInfo(const AttachmentInfo&amp; info)
&gt; +    {
&gt; +        memset(static_cast&lt;void*&gt;(this), 0, sizeof(*this));
&gt; +        m_type = info.m_type;
&gt; +        m_isNull = info.m_isNull;
&gt; +        m_size = info.m_size;
&gt; +    }

This looks good to me.

&gt; Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp:82
&gt; +    AttachmentInfo(AttachmentInfo&amp;&amp; info)

On reflection, I think we can omit this function entirely. As long as we don’t implement a move constructor it will use the copy constructor, which for this class is fine. There’s no requirement when moving that the original object is zeroed, just needs to be safe to destroy.

&gt; Source/WebKit/Platform/IPC/unix/UnixMessage.h:59
&gt; +    MessageInfo(MessageInfo&amp;&amp; info)

Same thought here. Don’t need this.

&gt; Source/WebKit/Platform/IPC/unix/UnixMessage.h:69
&gt; +    MessageInfo&amp; operator=(const MessageInfo&amp;) = default;
&gt; +    MessageInfo&amp; operator=(MessageInfo&amp;&amp;) = default;

Don’t need these.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720571</commentid>
    <comment_count>23</comment_count>
      <attachid>417887</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-01-19 10:24:58 -0800</bug_when>
    <thetext>Created attachment 417887
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720572</commentid>
    <comment_count>24</comment_count>
      <attachid>417778</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-01-19 10:25:56 -0800</bug_when>
    <thetext>Comment on attachment 417778
Patch

Sigh... accidentally unset r? by uploading a patch to the wrong bug. Let&apos;s try again....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720591</commentid>
    <comment_count>25</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-01-19 10:59:03 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #22)
&gt; &gt; Source/WebKit/Platform/IPC/unix/UnixMessage.h:69
&gt; &gt; +    MessageInfo&amp; operator=(const MessageInfo&amp;) = default;
&gt; &gt; +    MessageInfo&amp; operator=(MessageInfo&amp;&amp;) = default;
&gt; 
&gt; Don’t need these.

I was able to remove the move constructors.

The explicit default copy assignment operator is needed to avoid -Wdeprecated-copy:

DerivedSources/ForwardingHeaders/wtf/StdLibExtras.h:532:64: warning: implicitly-declared ‘constexpr IPC::MessageInfo&amp; IPC::MessageInfo::operator=(const IPC::MessageInfo&amp;)’ is deprecated [-Wdeprecated-copy]
  532 | #define WTFMove(value) std::move&lt;WTF::CheckMoveParameter&gt;(value)
      |                                                                ^
../../Source/WebKit/Platform/IPC/unix/UnixMessage.h:91:25: note: in expansion of macro ‘WTFMove’
   91 |         m_messageInfo = WTFMove(other.m_messageInfo);
      |                         ^~~~~~~
In file included from ../../Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp:33,
                 from DerivedSources/WebKit/unified-sources/UnifiedSource-3b989221-1.cpp:2:
../../Source/WebKit/Platform/IPC/unix/UnixMessage.h:51:5: note: because ‘IPC::MessageInfo’ has user-provided ‘IPC::MessageInfo::MessageInfo(const IPC::MessageInfo&amp;)’
   51 |     MessageInfo(const MessageInfo&amp; info)
      |     ^~~~~~~~~~~</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720592</commentid>
    <comment_count>26</comment_count>
      <attachid>417890</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-01-19 11:01:03 -0800</bug_when>
    <thetext>Created attachment 417890
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720691</commentid>
    <comment_count>27</comment_count>
      <attachid>417890</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-01-19 14:09:38 -0800</bug_when>
    <thetext>Comment on attachment 417890
Patch for landing

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

&gt; Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp:80
&gt; +    AttachmentInfo(const AttachmentInfo&amp; info)
&gt; +    {
&gt; +        memset(static_cast&lt;void*&gt;(this), 0, sizeof(*this));
&gt; +        m_type = info.m_type;
&gt; +        m_isNull = info.m_isNull;
&gt; +        m_size = info.m_size;
&gt; +    }

I realized this could be simplified to:

memset(static_cast&lt;void*&gt;(this), 0, sizeof(*this));
*this = info;

so as to reuse the copy assignment operator in the copy constructor. That seems slightly nicer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720695</commentid>
    <comment_count>28</comment_count>
      <attachid>417890</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-01-19 14:17:31 -0800</bug_when>
    <thetext>Comment on attachment 417890
Patch for landing

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

&gt;&gt; Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp:80
&gt;&gt; +    }
&gt; 
&gt; I realized this could be simplified to:
&gt; 
&gt; memset(static_cast&lt;void*&gt;(this), 0, sizeof(*this));
&gt; *this = info;
&gt; 
&gt; so as to reuse the copy assignment operator in the copy constructor. That seems slightly nicer.

Neat, I like that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720710</commentid>
    <comment_count>29</comment_count>
      <attachid>417917</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-01-19 15:10:36 -0800</bug_when>
    <thetext>Created attachment 417917
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720712</commentid>
    <comment_count>30</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-01-19 15:11:05 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #28)
&gt; Neat, I like that.

Please set cq+ if you&apos;re happy with this hopefully-final version.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720725</commentid>
    <comment_count>31</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-01-19 15:50:43 -0800</bug_when>
    <thetext>Committed r271626: &lt;https://trac.webkit.org/changeset/271626&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 417917.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417731</attachid>
            <date>2021-01-15 13:51:34 -0800</date>
            <delta_ts>2021-01-17 05:26:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220668-20210115155133.patch</filename>
            <type>text/plain</type>
            <size>2540</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGE5YWZiNzIxNDJlOWZhZmM0
ODJhZTY4NmE4OGExZDkzNjJlN2E0ZmQuLjQxODFlOTQ2ODJiZmJmMDAzMGYxMmU0NjU2YWYwMWRi
MGYwNzgyMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjEtMDEtMTUgIE1pY2hhZWwg
Q2F0YW56YXJvICA8bWNhdGFuemFyb0Bnbm9tZS5vcmc+CisKKyAgICAgICAgU3lzY2FsbCBwYXJh
bSBzZW5kbXNnKG1zZy5tc2dfaW92WzFdKSBwb2ludHMgdG8gdW5pbml0aWFsaXNlZCBieXRlKHMp
IGluIElQQzo6Q29ubmVjdGlvbjo6c2VuZE91dGdvaW5nTWVzc2FnZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwNjY4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgcHJldmlvdXNseSBkaXNjb3ZlcmVk
IHRoYXQgd2UgbmVlZCB0byBlaXRoZXIgKGEpIG1hbnVhbGx5IHplcm8gdGhlIE1lc3NhZ2VJbmZv
IHN0cnVjdAorICAgICAgICB3aXRoIG1lbWNweSAoYWNjZXB0ZWQgc29sdXRpb24pLCBvciBiKSB1
c2UgX19hdHRyaWJ1dGVfXygocGFja2VkKSkgdG8gb21pdCBzdHJ1Y3QgcGFja2luZy4KKyAgICAg
ICAgVGhpcyBzZWVtZWQgdG8gZml4IG91ciB2YWxncmluZCB3YXJuaW5ncyB3aGVuIGJtYWxsb2Mg
d2FzIGluIHVzZSwgYnV0IG5vdCB3aGVuIGJtYWxsb2MgaXMKKyAgICAgICAgZGlzYWJsZWQsIGFz
IGlzIGdvb2QgcHJhY3RpY2Ugd2hlbiB2YWxncmluZGluZy4KKworICAgICAgICBUdXJucyBvdXQg
d2UgbmVlZCB0byB6ZXJvIChvciBwYWNrKSB0aGUgQXR0YWNobWVudEluZm8gc3RydWN0IGFzIHdl
bGwuIExldCdzIGdvIHdpdGggemVyb2luZworICAgICAgICBpdCwgc2luY2UgaXQgaXMgYSB0cml2
aWFsbHktY29weWFibGUgdHlwZSwgc28gdGhhdCdzIHNhZmUgdG8gZG8uCisKKyAgICAgICAgKiBQ
bGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0aW9uVW5peC5jcHA6CisgICAgICAgIChJUEM6OkF0dGFj
aG1lbnRJbmZvOjpBdHRhY2htZW50SW5mbyk6CisgICAgICAgICgpOgorCiAyMDIxLTAxLTE1ICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgW0dQVVByb2Nlc3NdIElt
cHJvdmUgdGhlIEdQVVByb2Nlc3MnIG1lbW9yeSBwcmVzc3VyZSBoYW5kbGVyCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy91bml4L0Nvbm5lY3Rpb25Vbml4LmNwcCBiL1Nv
dXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL3VuaXgvQ29ubmVjdGlvblVuaXguY3BwCmluZGV4IDNk
NTQ0MDIxN2MxZDNmMGNlYjRmOTQ2YWVhODMwZjIxNTA4MDJmZDcuLjI2N2Y5YjhmMjhiMjg3YmJk
YzdmODE5YjhkOThkYmNlYjhkZWRkZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZv
cm0vSVBDL3VuaXgvQ29ubmVjdGlvblVuaXguY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZv
cm0vSVBDL3VuaXgvQ29ubmVjdGlvblVuaXguY3BwCkBAIC02NCw3ICs2NCwxMiBAQCBzdGF0aWMg
Y29uc3Qgc2l6ZV90IGF0dGFjaG1lbnRNYXhBbW91bnQgPSAyNTQ7CiBjbGFzcyBBdHRhY2htZW50
SW5mbyB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgQXR0YWNo
bWVudEluZm8oKSA9IGRlZmF1bHQ7CisgICAgQXR0YWNobWVudEluZm8oKQorICAgIHsKKyAgICAg
ICAgLy8gVGhlIGVudGlyZSBBdHRhY2htZW50SW5mbyBpcyBwYXNzZWQgdG8gd3JpdGUoKSwgc28g
d2UgaGF2ZSB0byB6ZXJvIG91cgorICAgICAgICAvLyBwYWRkaW5nIGJ5dGVzIHRvIGF2b2lkIHdy
aXRpbmcgdW5pbml0aWFsaXplZCBtZW1vcnkuCisgICAgICAgIG1lbXNldCh0aGlzLCAwLCBzaXpl
b2YoKnRoaXMpKTsKKyAgICB9CiAKICAgICB2b2lkIHNldFR5cGUoQXR0YWNobWVudDo6VHlwZSB0
eXBlKSB7IG1fdHlwZSA9IHR5cGU7IH0KICAgICBBdHRhY2htZW50OjpUeXBlIHR5cGUoKSBjb25z
dCB7IHJldHVybiBtX3R5cGU7IH0KQEAgLTg1LDkgKzkwLDkgQEAgcHVibGljOgogICAgIGJvb2wg
aXNOdWxsKCkgY29uc3QgeyByZXR1cm4gbV9pc051bGw7IH0KIAogcHJpdmF0ZToKLSAgICBBdHRh
Y2htZW50OjpUeXBlIG1fdHlwZSB7IEF0dGFjaG1lbnQ6OlVuaW5pdGlhbGl6ZWQgfTsKLSAgICBi
b29sIG1faXNOdWxsIHsgZmFsc2UgfTsKLSAgICBzaXplX3QgbV9zaXplIHsgMCB9OworICAgIEF0
dGFjaG1lbnQ6OlR5cGUgbV90eXBlOworICAgIGJvb2wgbV9pc051bGw7CisgICAgc2l6ZV90IG1f
c2l6ZTsKIH07CiAKIHN0YXRpY19hc3NlcnQoc2l6ZW9mKE1lc3NhZ2VJbmZvKSArIHNpemVvZihB
dHRhY2htZW50SW5mbykgKiBhdHRhY2htZW50TWF4QW1vdW50IDw9IG1lc3NhZ2VNYXhTaXplLCAi
bWVzc2FnZU1heFNpemUgaXMgdG9vIHNtYWxsLiIpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417777</attachid>
            <date>2021-01-17 05:26:18 -0800</date>
            <delta_ts>2021-01-19 11:01:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220668-20210117072618.patch</filename>
            <type>text/plain</type>
            <size>6824</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGE5YWZiNzIxNDJlOWZhZmM0
ODJhZTY4NmE4OGExZDkzNjJlN2E0ZmQuLjhkZGFjMjZmNmUzMDIyOTRmZjM0Y2FlMGM3YmJkZmIw
NjhlODY2YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMjEtMDEtMTcgIE1pY2hhZWwg
Q2F0YW56YXJvICA8bWNhdGFuemFyb0Bnbm9tZS5vcmc+CisKKyAgICAgICAgU3lzY2FsbCBwYXJh
bSBzZW5kbXNnKG1zZy5tc2dfaW92WzFdKSBwb2ludHMgdG8gdW5pbml0aWFsaXNlZCBieXRlKHMp
IGluIElQQzo6Q29ubmVjdGlvbjo6c2VuZE91dGdvaW5nTWVzc2FnZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwNjY4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgcHJldmlvdXNseSBkaXNjb3ZlcmVk
IHRoYXQgd2UgbmVlZCB0byBlaXRoZXIgKGEpIG1hbnVhbGx5IHplcm8gdGhlIE1lc3NhZ2VJbmZv
IHN0cnVjdAorICAgICAgICB3aXRoIG1lbWNweSAoYWNjZXB0ZWQgc29sdXRpb24pLCBvciBiKSB1
c2UgX19hdHRyaWJ1dGVfXygocGFja2VkKSkgdG8gb21pdCBzdHJ1Y3QgcGFja2luZy4KKyAgICAg
ICAgVGhpcyBzZWVtZWQgdG8gZml4IG91ciB2YWxncmluZCB3YXJuaW5ncyB3aGVuIGJtYWxsb2Mg
d2FzIGluIHVzZSwgYnV0IG5vdCB3aGVuIGJtYWxsb2MgaXMKKyAgICAgICAgZGlzYWJsZWQsIGFz
IGlzIGdvb2QgcHJhY3RpY2Ugd2hlbiB2YWxncmluZGluZy4KKworICAgICAgICBUdXJucyBvdXQg
d2UgbmVlZCB0byB6ZXJvIChvciBwYWNrKSB0aGUgQXR0YWNobWVudEluZm8gc3RydWN0IGFzIHdl
bGwuIExldCdzIGdvIHdpdGggemVyb2luZworICAgICAgICBpdCwgc2luY2UgYWxsIGl0cyBtZW1i
ZXJzIGFyZSB0cml2aWFsbHkgY29weWFibGUsIHNvIHRoYXQncyBzYWZlIHRvIGRvLiBGb3IgZ29v
ZCBtZWFzdXJlLAorICAgICAgICB3ZSdsbCBpbXBsZW1lbnQgY29weSBhbmQgbW92ZSBjb25zdHJ1
Y3RvcnMgYW5kIGRvIHNvIHRoZXJlIGFzIHdlbGwuIFRoaXMgbWVhbnMgd2UgbmVlZCBjb3B5Cisg
ICAgICAgIGFuZCBtb3ZlIGFzc2lnbm1lbnQgb3BlcmF0b3JzIHRvby4KKworICAgICAgICBJbXBs
ZW1lbnQgY29weSBhbmQgbW92ZSBjb25zdHJ1Y3RvcnMgYW5kIGFzc2lnbm1lbnQgb3BlcmF0b3Jz
IGZvciBNZXNzYWdlSW5mbywgdG8gcm91bmQgb3V0CisgICAgICAgIHRoZSBvcmlnaW5hbCBmaXgg
dG8gTWVzc2FnZUluZm8uCisKKyAgICAgICAgU2luY2UgQXR0YWNobWVudEluZm8gYW5kIE1lc3Nh
Z2VJbmZvIGFyZSBubyBsb25nZXIgdHJpdmlhbGx5LWNvcHlhYmxlLCB3ZSBub3cgbmVlZCB0byBj
YXN0CisgICAgICAgIHRoZW0gdG8gdm9pZCogd2hlbiB1c2luZyBtZW1jcHkgaW4gb3JkZXIgdG8g
YXZvaWQgLVdjbGFzcy1tZW1hY2Nlc3Mgd2FybmluZ3MgZnJvbSBHQ0MuCisKKyAgICAgICAgKiBQ
bGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0aW9uVW5peC5jcHA6CisgICAgICAgIChJUEM6OkF0dGFj
aG1lbnRJbmZvOjpBdHRhY2htZW50SW5mbyk6CisgICAgICAgICgpOiBEZWxldGVkLgorICAgICAg
ICAqIFBsYXRmb3JtL0lQQy91bml4L1VuaXhNZXNzYWdlLmg6CisgICAgICAgIChJUEM6Ok1lc3Nh
Z2VJbmZvOjpNZXNzYWdlSW5mbyk6CisgICAgICAgIChJUEM6OlVuaXhNZXNzYWdlOjpVbml4TWVz
c2FnZSk6CisKIDIwMjEtMDEtMTUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAog
ICAgICAgICBbR1BVUHJvY2Vzc10gSW1wcm92ZSB0aGUgR1BVUHJvY2VzcycgbWVtb3J5IHByZXNz
dXJlIGhhbmRsZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL3VuaXgv
Q29ubmVjdGlvblVuaXguY3BwIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvdW5peC9Db25u
ZWN0aW9uVW5peC5jcHAKaW5kZXggM2Q1NDQwMjE3YzFkM2YwY2ViNGY5NDZhZWE4MzBmMjE1MDgw
MmZkNy4uMGQ4YzA0MTI4OTE0MzQyNzcwYjJlMzZjZGE2Zjc2ZDg4ZWNkOGM4YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0aW9uVW5peC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0aW9uVW5peC5jcHAKQEAg
LTY0LDcgKzY0LDMyIEBAIHN0YXRpYyBjb25zdCBzaXplX3QgYXR0YWNobWVudE1heEFtb3VudCA9
IDI1NDsKIGNsYXNzIEF0dGFjaG1lbnRJbmZvIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKLSAgICBBdHRhY2htZW50SW5mbygpID0gZGVmYXVsdDsKKyAgICBBdHRhY2ht
ZW50SW5mbygpCisgICAgeworICAgICAgICAvLyBUaGUgZW50aXJlIEF0dGFjaG1lbnRJbmZvIGlz
IHBhc3NlZCB0byB3cml0ZSgpLCBzbyB3ZSBoYXZlIHRvIHplcm8gb3VyCisgICAgICAgIC8vIHBh
ZGRpbmcgYnl0ZXMgdG8gYXZvaWQgd3JpdGluZyB1bmluaXRpYWxpemVkIG1lbW9yeS4KKyAgICAg
ICAgbWVtc2V0KHN0YXRpY19jYXN0PHZvaWQqPih0aGlzKSwgMCwgc2l6ZW9mKCp0aGlzKSk7Cisg
ICAgfQorCisgICAgQXR0YWNobWVudEluZm8oY29uc3QgQXR0YWNobWVudEluZm8mIGluZm8pCisg
ICAgeworICAgICAgICBtZW1zZXQoc3RhdGljX2Nhc3Q8dm9pZCo+KHRoaXMpLCAwLCBzaXplb2Yo
KnRoaXMpKTsKKyAgICAgICAgbV90eXBlID0gaW5mby5tX3R5cGU7CisgICAgICAgIG1faXNOdWxs
ID0gaW5mby5tX2lzTnVsbDsKKyAgICAgICAgbV9zaXplID0gaW5mby5tX3NpemU7CisgICAgfQor
CisgICAgQXR0YWNobWVudEluZm8oQXR0YWNobWVudEluZm8mJiBpbmZvKQorICAgIHsKKyAgICAg
ICAgbWVtc2V0KHN0YXRpY19jYXN0PHZvaWQqPih0aGlzKSwgMCwgc2l6ZW9mKCp0aGlzKSk7Cisg
ICAgICAgIG1fdHlwZSA9IGluZm8ubV90eXBlOworICAgICAgICBtX2lzTnVsbCA9IGluZm8ubV9p
c051bGw7CisgICAgICAgIG1fc2l6ZSA9IGluZm8ubV9zaXplOworICAgICAgICBtZW1zZXQoc3Rh
dGljX2Nhc3Q8dm9pZCo+KCZpbmZvKSwgMCwgc2l6ZW9mKGluZm8pKTsKKyAgICB9CisKKyAgICBB
dHRhY2htZW50SW5mbyYgb3BlcmF0b3I9KGNvbnN0IEF0dGFjaG1lbnRJbmZvJikgPSBkZWZhdWx0
OworICAgIEF0dGFjaG1lbnRJbmZvJiBvcGVyYXRvcj0oQXR0YWNobWVudEluZm8mJikgPSBkZWZh
dWx0OwogCiAgICAgdm9pZCBzZXRUeXBlKEF0dGFjaG1lbnQ6OlR5cGUgdHlwZSkgeyBtX3R5cGUg
PSB0eXBlOyB9CiAgICAgQXR0YWNobWVudDo6VHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90
eXBlOyB9CkBAIC04NSw5ICsxMTAsMTAgQEAgcHVibGljOgogICAgIGJvb2wgaXNOdWxsKCkgY29u
c3QgeyByZXR1cm4gbV9pc051bGw7IH0KIAogcHJpdmF0ZToKLSAgICBBdHRhY2htZW50OjpUeXBl
IG1fdHlwZSB7IEF0dGFjaG1lbnQ6OlVuaW5pdGlhbGl6ZWQgfTsKLSAgICBib29sIG1faXNOdWxs
IHsgZmFsc2UgfTsKLSAgICBzaXplX3QgbV9zaXplIHsgMCB9OworICAgIC8vIFRoZSBBdHRhY2ht
ZW50SW5mbyB3aWxsIGJlIGNvcGllZCB1c2luZyBtZW1jcHksIHNvIGFsbCBtZW1iZXJzIG11c3Qg
YmUgdHJpdmlhbGx5IGNvcHlhYmxlLgorICAgIEF0dGFjaG1lbnQ6OlR5cGUgbV90eXBlOworICAg
IGJvb2wgbV9pc051bGw7CisgICAgc2l6ZV90IG1fc2l6ZTsKIH07CiAKIHN0YXRpY19hc3NlcnQo
c2l6ZW9mKE1lc3NhZ2VJbmZvKSArIHNpemVvZihBdHRhY2htZW50SW5mbykgKiBhdHRhY2htZW50
TWF4QW1vdW50IDw9IG1lc3NhZ2VNYXhTaXplLCAibWVzc2FnZU1heFNpemUgaXMgdG9vIHNtYWxs
LiIpOwpAQCAtMTM4LDcgKzE2NCw3IEBAIGJvb2wgQ29ubmVjdGlvbjo6cHJvY2Vzc01lc3NhZ2Uo
KQogCiAgICAgdWludDhfdCogbWVzc2FnZURhdGEgPSBtX3JlYWRCdWZmZXIuZGF0YSgpOwogICAg
IE1lc3NhZ2VJbmZvIG1lc3NhZ2VJbmZvOwotICAgIG1lbWNweSgmbWVzc2FnZUluZm8sIG1lc3Nh
Z2VEYXRhLCBzaXplb2YobWVzc2FnZUluZm8pKTsKKyAgICBtZW1jcHkoc3RhdGljX2Nhc3Q8dm9p
ZCo+KCZtZXNzYWdlSW5mbyksIG1lc3NhZ2VEYXRhLCBzaXplb2YobWVzc2FnZUluZm8pKTsKICAg
ICBtZXNzYWdlRGF0YSArPSBzaXplb2YobWVzc2FnZUluZm8pOwogCiAgICAgaWYgKG1lc3NhZ2VJ
bmZvLmF0dGFjaG1lbnRDb3VudCgpID4gYXR0YWNobWVudE1heEFtb3VudCB8fCAoIW1lc3NhZ2VJ
bmZvLmlzQm9keU91dE9mTGluZSgpICYmIG1lc3NhZ2VJbmZvLmJvZHlTaXplKCkgPiBtZXNzYWdl
TWF4U2l6ZSkpIHsKQEAgLTE1NSw3ICsxODEsNyBAQCBib29sIENvbm5lY3Rpb246OnByb2Nlc3NN
ZXNzYWdlKCkKICAgICBWZWN0b3I8QXR0YWNobWVudEluZm8+IGF0dGFjaG1lbnRJbmZvKGF0dGFj
aG1lbnRDb3VudCk7CiAKICAgICBpZiAoYXR0YWNobWVudENvdW50KSB7Ci0gICAgICAgIG1lbWNw
eShhdHRhY2htZW50SW5mby5kYXRhKCksIG1lc3NhZ2VEYXRhLCBzaXplb2YoQXR0YWNobWVudElu
Zm8pICogYXR0YWNobWVudENvdW50KTsKKyAgICAgICAgbWVtY3B5KHN0YXRpY19jYXN0PHZvaWQq
PihhdHRhY2htZW50SW5mby5kYXRhKCkpLCBtZXNzYWdlRGF0YSwgc2l6ZW9mKEF0dGFjaG1lbnRJ
bmZvKSAqIGF0dGFjaG1lbnRDb3VudCk7CiAgICAgICAgIG1lc3NhZ2VEYXRhICs9IHNpemVvZihB
dHRhY2htZW50SW5mbykgKiBhdHRhY2htZW50Q291bnQ7CiAKICAgICAgICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBhdHRhY2htZW50Q291bnQ7ICsraSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9QbGF0Zm9ybS9JUEMvdW5peC9Vbml4TWVzc2FnZS5oIGIvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9JUEMvdW5peC9Vbml4TWVzc2FnZS5oCmluZGV4IDI0M2NlOTkzYmVlNzE3ZTNhNGYyYmQw
ZDZkNzdkZTUyNThmMGE0ZDkuLjNmMzRhZjRhNTYxNmM3MjM1OGEyYThjMDA5YTU3NWUxMzI3MWQy
YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL3VuaXgvVW5peE1lc3Nh
Z2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy91bml4L1VuaXhNZXNzYWdlLmgK
QEAgLTM4LDE2ICszOCwzNiBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICAvLyBUaGUgZW50aXJl
IE1lc3NhZ2VJbmZvIGlzIHBhc3NlZCB0byB3cml0ZSgpLCBzbyB3ZSBoYXZlIHRvIHplcm8gb3Vy
CiAgICAgICAgIC8vIHBhZGRpbmcgYnl0ZXMgdG8gYXZvaWQgd3JpdGluZyB1bmluaXRpYWxpemVk
IG1lbW9yeS4KLSAgICAgICAgbWVtc2V0KHRoaXMsIDAsIHNpemVvZigqdGhpcykpOworICAgICAg
ICBtZW1zZXQoc3RhdGljX2Nhc3Q8dm9pZCo+KHRoaXMpLCAwLCBzaXplb2YoKnRoaXMpKTsKICAg
ICB9CiAKICAgICBNZXNzYWdlSW5mbyhzaXplX3QgYm9keVNpemUsIHNpemVfdCBpbml0aWFsQXR0
YWNobWVudENvdW50KQogICAgIHsKLSAgICAgICAgbWVtc2V0KHRoaXMsIDAsIHNpemVvZigqdGhp
cykpOworICAgICAgICBtZW1zZXQoc3RhdGljX2Nhc3Q8dm9pZCo+KHRoaXMpLCAwLCBzaXplb2Yo
KnRoaXMpKTsKICAgICAgICAgbV9ib2R5U2l6ZSA9IGJvZHlTaXplOwogICAgICAgICBtX2F0dGFj
aG1lbnRDb3VudCA9IGluaXRpYWxBdHRhY2htZW50Q291bnQ7CiAgICAgfQogCisgICAgTWVzc2Fn
ZUluZm8oY29uc3QgTWVzc2FnZUluZm8mIGluZm8pCisgICAgeworICAgICAgICBtZW1zZXQoc3Rh
dGljX2Nhc3Q8dm9pZCo+KHRoaXMpLCAwLCBzaXplb2YoKnRoaXMpKTsKKyAgICAgICAgbV9ib2R5
U2l6ZSA9IGluZm8ubV9ib2R5U2l6ZTsKKyAgICAgICAgbV9hdHRhY2htZW50Q291bnQgPSBpbmZv
Lm1fYXR0YWNobWVudENvdW50OworICAgICAgICBtX2lzQm9keU91dE9mTGluZSA9IGluZm8ubV9p
c0JvZHlPdXRPZkxpbmU7CisgICAgfQorCisgICAgTWVzc2FnZUluZm8oTWVzc2FnZUluZm8mJiBp
bmZvKQorICAgIHsKKyAgICAgICAgbWVtc2V0KHN0YXRpY19jYXN0PHZvaWQqPih0aGlzKSwgMCwg
c2l6ZW9mKCp0aGlzKSk7CisgICAgICAgIG1fYm9keVNpemUgPSBpbmZvLm1fYm9keVNpemU7Cisg
ICAgICAgIG1fYXR0YWNobWVudENvdW50ID0gaW5mby5tX2F0dGFjaG1lbnRDb3VudDsKKyAgICAg
ICAgbV9pc0JvZHlPdXRPZkxpbmUgPSBpbmZvLm1faXNCb2R5T3V0T2ZMaW5lOworICAgICAgICBt
ZW1zZXQoc3RhdGljX2Nhc3Q8dm9pZCo+KCZpbmZvKSwgMCwgc2l6ZW9mKGluZm8pKTsKKyAgICB9
CisKKyAgICBNZXNzYWdlSW5mbyYgb3BlcmF0b3I9KGNvbnN0IE1lc3NhZ2VJbmZvJikgPSBkZWZh
dWx0OworICAgIE1lc3NhZ2VJbmZvJiBvcGVyYXRvcj0oTWVzc2FnZUluZm8mJikgPSBkZWZhdWx0
OworCiAgICAgdm9pZCBzZXRCb2R5T3V0T2ZMaW5lKCkKICAgICB7CiAgICAgICAgIEFTU0VSVCgh
aXNCb2R5T3V0T2ZMaW5lKCkpOwpAQCAtNjEsNiArODEsNyBAQCBwdWJsaWM6CiAgICAgc2l6ZV90
IGF0dGFjaG1lbnRDb3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fYXR0YWNobWVudENvdW50OyB9CiAK
IHByaXZhdGU6CisgICAgLy8gVGhlIE1lc3NhZ2VJbmZvIHdpbGwgYmUgY29waWVkIHVzaW5nIG1l
bWNweSwgc28gYWxsIG1lbWJlcnMgbXVzdCBiZSB0cml2aWFsbHkgY29weWFibGUuCiAgICAgc2l6
ZV90IG1fYm9keVNpemUgeyAwIH07CiAgICAgc2l6ZV90IG1fYXR0YWNobWVudENvdW50IHsgMCB9
OwogICAgIGJvb2wgbV9pc0JvZHlPdXRPZkxpbmUgeyBmYWxzZSB9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417778</attachid>
            <date>2021-01-17 05:36:16 -0800</date>
            <delta_ts>2021-01-19 10:28:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220668-20210117073615.patch</filename>
            <type>text/plain</type>
            <size>3583</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGE5YWZiNzIxNDJlOWZhZmM0
ODJhZTY4NmE4OGExZDkzNjJlN2E0ZmQuLjI4ZjEzZDcwZDI3OWVkYTIwMDM0YThlZTk1MmZkMzMy
NDA0NzMwZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMjEtMDEtMTcgIE1pY2hhZWwg
Q2F0YW56YXJvICA8bWNhdGFuemFyb0Bnbm9tZS5vcmc+CisKKyAgICAgICAgU3lzY2FsbCBwYXJh
bSBzZW5kbXNnKG1zZy5tc2dfaW92WzFdKSBwb2ludHMgdG8gdW5pbml0aWFsaXNlZCBieXRlKHMp
IGluIElQQzo6Q29ubmVjdGlvbjo6c2VuZE91dGdvaW5nTWVzc2FnZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwNjY4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgcjI1OTAzNyBmaXhlZCB2YWxncmluZCdz
IGNvbXBsYWludHMgb2YgdW5pbml0aWFsaXplZCBtZW1vcnkgaW4gTWVzc2FnZUluZm8sIGJ1dCBp
dCBtaXNzZWQKKyAgICAgICAgQXR0YWNobWVudEluZm8uIEl0IGFsc28gZmFpbGVkIHRvIGZpeCB0
aGUgY29weSBhbmQgbW92ZSBjb25zdHJ1Y3RvcnMgb2YgTWVzc2FnZUluZm8uIEZpeGluZworICAg
ICAgICB0aG9zZSByZXF1aXJlcyBpbXBsZW1lbnRpbmcgY29weSBhbmQgbW92ZSBhc3NpZ25tZW50
IG9wZXJhdG9ycyBhcyB3ZWxsLCBhbmQgdGhlbiBjYXN0aW5nIHRvCisgICAgICAgIHZvaWQqIHdo
ZW5ldmVyIGNvcHlpbmcgdGhlc2UgdHlwZXMgd2l0aCBtZW1jcHkgaW4gb3JkZXIgdG8gYXZvaWQg
R0NDJ3MgLVdjbGFzcy1tZW1hY2Nlc3MKKyAgICAgICAgd2FybmluZ3MuIEluIHNob3J0LCB0aGlz
IGdvdCBhIGJpdCBtb3JlIGNvbXBsZXggdGhhbiBJIGhhZCBob3BlZCBmb3IuCisKKyAgICAgICAg
V2UgY2FuIGF2b2lkIHRoZSBuZWVkIGZvciBhbGwgb2YgdGhlIGFib3ZlIGJ5IHBhY2tpbmcgdGhl
IHN0cnVjdHMgaW5zdGVhZC4gVGhpcyBpcyBub3QKKyAgICAgICAgc3RhbmRhcmQgQysrLCBidXQg
dGhhdCdzIHByb2JhYmx5IE9LLCBiZWNhdXNlIHRoZXNlIGFyZSBwbGF0Zm9ybS1zcGVjaWZpYyBm
aWxlcy4gSXQncyBnb2luZworICAgICAgICB0byBiZSBhIHBlcmZvcm1hbmNlIHBlc3NpbWl6YXRp
b24gc2luY2UgaXQgd2lsbCBjYXVzZSB1bmFsaWduZWQgZGF0YSBhY2Nlc3MsIGJ1dCB0aGF0J3MK
KyAgICAgICAgcHJvYmFibHkgYWxzbyBPSyBzaW5jZSB0aGlzIGlzIElQQyBjb2RlIGFuZCBhbnkg
b3ZlcmhlYWQgZnJvbSBzdHJ1Y3QgcGFja2luZyBzaG91bGQgYmUgdmVyeQorICAgICAgICBzbWFs
bCBjb21wYXJlZCB0byB0aGUgSVBDIGl0c2VsZi4KKworICAgICAgICBUaGlzIGFsc28gcmV2ZXJ0
cyByMjU5MDM3LCB3aGljaCBpcyBubyBsb25nZXIgcmVxdWlyZWQuCisKKyAgICAgICAgKiBQbGF0
Zm9ybS9JUEMvdW5peC9Db25uZWN0aW9uVW5peC5jcHA6CisgICAgICAgICogUGxhdGZvcm0vSVBD
L3VuaXgvVW5peE1lc3NhZ2UuaDoKKyAgICAgICAgKElQQzo6TWVzc2FnZUluZm86Ok1lc3NhZ2VJ
bmZvKToKKwogMjAyMS0wMS0xNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtHUFVQcm9jZXNzXSBJbXByb3ZlIHRoZSBHUFVQcm9jZXNzJyBtZW1vcnkgcHJlc3N1
cmUgaGFuZGxlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvdW5peC9D
b25uZWN0aW9uVW5peC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy91bml4L0Nvbm5l
Y3Rpb25Vbml4LmNwcAppbmRleCAzZDU0NDAyMTdjMWQzZjBjZWI0Zjk0NmFlYTgzMGYyMTUwODAy
ZmQ3Li4yNGIzODdhYjQ5ZjExYzE2MDNmOWI5MDM3MDZiZDBjMWZjZjdmZTk2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy91bml4L0Nvbm5lY3Rpb25Vbml4LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy91bml4L0Nvbm5lY3Rpb25Vbml4LmNwcApAQCAt
ODgsNyArODgsNyBAQCBwcml2YXRlOgogICAgIEF0dGFjaG1lbnQ6OlR5cGUgbV90eXBlIHsgQXR0
YWNobWVudDo6VW5pbml0aWFsaXplZCB9OwogICAgIGJvb2wgbV9pc051bGwgeyBmYWxzZSB9Owog
ICAgIHNpemVfdCBtX3NpemUgeyAwIH07Ci19OworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsK
IAogc3RhdGljX2Fzc2VydChzaXplb2YoTWVzc2FnZUluZm8pICsgc2l6ZW9mKEF0dGFjaG1lbnRJ
bmZvKSAqIGF0dGFjaG1lbnRNYXhBbW91bnQgPD0gbWVzc2FnZU1heFNpemUsICJtZXNzYWdlTWF4
U2l6ZSBpcyB0b28gc21hbGwuIik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZv
cm0vSVBDL3VuaXgvVW5peE1lc3NhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL3Vu
aXgvVW5peE1lc3NhZ2UuaAppbmRleCAyNDNjZTk5M2JlZTcxN2UzYTRmMmJkMGQ2ZDc3ZGU1MjU4
ZjBhNGQ5Li5jZDgxZjdhMTE1NGUwMjIxNTFjNTQxZjVkMzlmNGVjMGVhZDkwZjYzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy91bml4L1VuaXhNZXNzYWdlLmgKKysrIGIv
U291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvdW5peC9Vbml4TWVzc2FnZS5oCkBAIC0zNCwxOCAr
MzQsMTIgQEAgbmFtZXNwYWNlIElQQyB7CiAKIGNsYXNzIE1lc3NhZ2VJbmZvIHsKIHB1YmxpYzoK
LSAgICBNZXNzYWdlSW5mbygpCi0gICAgewotICAgICAgICAvLyBUaGUgZW50aXJlIE1lc3NhZ2VJ
bmZvIGlzIHBhc3NlZCB0byB3cml0ZSgpLCBzbyB3ZSBoYXZlIHRvIHplcm8gb3VyCi0gICAgICAg
IC8vIHBhZGRpbmcgYnl0ZXMgdG8gYXZvaWQgd3JpdGluZyB1bmluaXRpYWxpemVkIG1lbW9yeS4K
LSAgICAgICAgbWVtc2V0KHRoaXMsIDAsIHNpemVvZigqdGhpcykpOwotICAgIH0KKyAgICBNZXNz
YWdlSW5mbygpID0gZGVmYXVsdDsKIAogICAgIE1lc3NhZ2VJbmZvKHNpemVfdCBib2R5U2l6ZSwg
c2l6ZV90IGluaXRpYWxBdHRhY2htZW50Q291bnQpCisgICAgICAgIDogbV9ib2R5U2l6ZShib2R5
U2l6ZSkKKyAgICAgICAgLCBtX2F0dGFjaG1lbnRDb3VudChpbml0aWFsQXR0YWNobWVudENvdW50
KQogICAgIHsKLSAgICAgICAgbWVtc2V0KHRoaXMsIDAsIHNpemVvZigqdGhpcykpOwotICAgICAg
ICBtX2JvZHlTaXplID0gYm9keVNpemU7Ci0gICAgICAgIG1fYXR0YWNobWVudENvdW50ID0gaW5p
dGlhbEF0dGFjaG1lbnRDb3VudDsKICAgICB9CiAKICAgICB2b2lkIHNldEJvZHlPdXRPZkxpbmUo
KQpAQCAtNjQsNyArNTgsNyBAQCBwcml2YXRlOgogICAgIHNpemVfdCBtX2JvZHlTaXplIHsgMCB9
OwogICAgIHNpemVfdCBtX2F0dGFjaG1lbnRDb3VudCB7IDAgfTsKICAgICBib29sIG1faXNCb2R5
T3V0T2ZMaW5lIHsgZmFsc2UgfTsKLX07Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogCiBj
bGFzcyBVbml4TWVzc2FnZSB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417887</attachid>
            <date>2021-01-19 10:24:58 -0800</date>
            <delta_ts>2021-01-19 10:25:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220668-20210119122458.patch</filename>
            <type>text/plain</type>
            <size>2237</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNTA1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggY2QzYjVkN2M0MDZkOTU3NzY5ZGY3ZTllY2U0MDViNTJj
YTY5ODU2NC4uYmQ3MGRiMjc4NTliYmVjNGIzYjMxZWJmZmVhNWVkZmE0ZjI2NTIyZSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEz
IEBACisyMDIxLTAxLTE5ICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AZ25vbWUub3Jn
PgorCisgICAgICAgIFN5c2NhbGwgcGFyYW0gc2VuZG1zZyhtc2cubXNnX2lvdlsxXSkgcG9pbnRz
IHRvIHVuaW5pdGlhbGlzZWQgYnl0ZShzKSBpbiBJUEM6OkNvbm5lY3Rpb246OnNlbmRPdXRnb2lu
Z01lc3NhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyMDY2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2NyZWRlbnRpYWxzLnB5OgorICAgICAgICAo
Q3JlZGVudGlhbHMucmVhZF9jcmVkZW50aWFscyk6CisKIDIwMjEtMDEtMTQgIEFsZXggQ2hyaXN0
ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgZG90bGVzcyBq
IGFuZCBzbWFsbCBOIHRvIHVuaWNvZGUgbG9va2FsaWtlIGNoYXJhY3RlciBsaXN0CmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvY3JlZGVudGlhbHMucHkgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvY3JlZGVudGlhbHMucHkKaW5kZXggY2U5
ZjM4MmNmNjVkM2ZiMjUxZmM3ZThlZWYyYTU3MmEzNTg5NjlkYy4uNDQzNGMwODZjNjk4MjZkNDUx
YTYzM2ZiMmM0ODU2NDg2MDAwMDM5NiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9jb21tb24vbmV0L2NyZWRlbnRpYWxzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
Y29tbW9uL25ldC9jcmVkZW50aWFscy5weQpAQCAtMTQzLDEzICsxNDMsMjAgQEAgY2xhc3MgQ3Jl
ZGVudGlhbHMob2JqZWN0KToKICAgICBkZWYgcmVhZF9jcmVkZW50aWFscyhzZWxmLCB1c2VyPVVz
ZXIsIHVzZV9zdG9yZWRfY3JlZGVudGlhbHM9VHJ1ZSk6CiAgICAgICAgIHVzZXJuYW1lLCBwYXNz
d29yZCA9IE5vbmUsIE5vbmUKICAgICAgICAgaWYgdXNlX3N0b3JlZF9jcmVkZW50aWFsczoKKyAg
ICAgICAgICAgIHByaW50KCdDaGVja2luZyBmb3Igc3RvcmVkIGNyZWRlbnRpYWxzJykKICAgICAg
ICAgICAgIHVzZXJuYW1lLCBwYXNzd29yZCA9IHNlbGYuX2NyZWRlbnRpYWxzX2Zyb21fZW52aXJv
bm1lbnQoKQogICAgICAgICAgICAgIyBGSVhNRTogV2UgZG9uJ3QgY3VycmVudGx5IHN1cHBvcnQg
cHVsbGluZyB0aGUgdXNlcm5hbWUgZnJvbSBvbmUKICAgICAgICAgICAgICMgc291cmNlIGFuZCB0
aGUgcGFzc3dvcmQgZnJvbSBhIHNlcGFyYXRlIHNvdXJjZS4KICAgICAgICAgICAgIGlmIG5vdCB1
c2VybmFtZSBvciBub3QgcGFzc3dvcmQ6CisgICAgICAgICAgICAgICAgcHJpbnQoJ0ZhaWxlZCB0
byByZWFkIGNyZWRlbnRpYWxzIGZyb20gZW52aXJvbm1lbnQuIFRyeWluZyBnaXQuLi4nKQogICAg
ICAgICAgICAgICAgIHVzZXJuYW1lLCBwYXNzd29yZCA9IHNlbGYuX2NyZWRlbnRpYWxzX2Zyb21f
Z2l0KCkKICAgICAgICAgICAgIGlmIG5vdCB1c2VybmFtZSBvciBub3QgcGFzc3dvcmQ6CisgICAg
ICAgICAgICAgICAgcHJpbnQoJ0ZhaWxlZCB0byByZWFkIGNyZWRlbnRpYWxzIGZyb20gZ2l0LiBU
cnlpbmcga2V5Y2hhaW4uLi4nKQogICAgICAgICAgICAgICAgIHVzZXJuYW1lLCBwYXNzd29yZCA9
IHNlbGYuX2NyZWRlbnRpYWxzX2Zyb21fa2V5Y2hhaW4odXNlcm5hbWUpCisgICAgICAgICAgICBp
ZiBub3QgdXNlcm5hbWUgb3Igbm90IHBhc3N3b3JkOgorICAgICAgICAgICAgICAgIHByaW50KCdG
YWlsZWQgdG8gcmVhZCBjcmVkZW50aWFscyBmcm9tIGtleWNoYWluJykKKyAgICAgICAgICAgICAg
ICBwcmludCgndXNlcm5hbWU9e30nLmZvcm1hdCh1c2VybmFtZSkpCisgICAgICAgICAgICAgICAg
cHJpbnQoJ3Bhc3N3b3JkPXt9Jy5mb3JtYXQocGFzc3dvcmQpKQogCiAgICAgICAgIGlmIG5vdCB1
c2VybmFtZToKICAgICAgICAgICAgIHVzZXJuYW1lID0gdXNlci5wcm9tcHQoIiVzIGxvZ2luOiAi
ICUgc2VsZi5ob3N0KQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417890</attachid>
            <date>2021-01-19 11:01:03 -0800</date>
            <delta_ts>2021-01-19 15:10:33 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-220668-20210119130103.patch</filename>
            <type>text/plain</type>
            <size>6119</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNjAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQ1OGNjODU0NzcxMjM4NDI3
NTJmYmY4YTE4ZTRiZDEyN2VkMzBjYzcuLjU1N2E5MGI2MmY2MGMwMjAyM2MyYzRiOTUwYTBhZDkz
ZDY2YzYyYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAKKzIwMjEtMDEtMTkgIE1pY2hhZWwg
Q2F0YW56YXJvICA8bWNhdGFuemFyb0Bnbm9tZS5vcmc+CisKKyAgICAgICAgU3lzY2FsbCBwYXJh
bSBzZW5kbXNnKG1zZy5tc2dfaW92WzFdKSBwb2ludHMgdG8gdW5pbml0aWFsaXNlZCBieXRlKHMp
IGluIElQQzo6Q29ubmVjdGlvbjo6c2VuZE91dGdvaW5nTWVzc2FnZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwNjY4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgV2UgcHJldmlvdXNseSBkaXNjb3ZlcmVkIHRo
YXQgd2UgbmVlZCB0byBlaXRoZXIgKGEpIG1hbnVhbGx5IHplcm8gdGhlIE1lc3NhZ2VJbmZvIHN0
cnVjdAorICAgICAgICB3aXRoIG1lbWNweSAoYWNjZXB0ZWQgc29sdXRpb24pLCBvciBiKSB1c2Ug
X19hdHRyaWJ1dGVfXygocGFja2VkKSkgdG8gb21pdCBzdHJ1Y3QgcGFja2luZy4KKyAgICAgICAg
VGhpcyBzZWVtZWQgdG8gZml4IG91ciB2YWxncmluZCB3YXJuaW5ncyB3aGVuIGJtYWxsb2Mgd2Fz
IGluIHVzZSwgYnV0IG5vdCB3aGVuIGJtYWxsb2MgaXMKKyAgICAgICAgZGlzYWJsZWQsIGFzIGlz
IGdvb2QgcHJhY3RpY2Ugd2hlbiB2YWxncmluZGluZy4KKworICAgICAgICBUdXJucyBvdXQgd2Ug
bmVlZCB0byB6ZXJvIChvciBwYWNrKSB0aGUgQXR0YWNobWVudEluZm8gc3RydWN0IGFzIHdlbGwu
IExldCdzIGdvIHdpdGggemVyb2luZworICAgICAgICBpdCwgc2luY2UgYWxsIGl0cyBtZW1iZXJz
IGFyZSB0cml2aWFsbHkgY29weWFibGUsIHNvIHRoYXQncyBzYWZlIHRvIGRvLgorCisgICAgICAg
IEZvciBnb29kIG1lYXN1cmUsIHdlJ2xsIGltcGxlbWVudCBhIGNvcHkgY29uc3RydWN0b3IgYW5k
IGRvIHNvIHRoZXJlIGFzIHdlbGwuIERvIHRoaXMgZm9yCisgICAgICAgIE1lc3NhZ2VJbmZvIHRv
bywgdG8gcm91bmQgb3V0IHRoZSBvcmlnaW5hbCBmaXggdG8gTWVzc2FnZUluZm8uCisKKyAgICAg
ICAgU2luY2UgQXR0YWNobWVudEluZm8gYW5kIE1lc3NhZ2VJbmZvIGFyZSBubyBsb25nZXIgdHJp
dmlhbGx5LWNvcHlhYmxlLCB3ZSBub3cgbmVlZCB0byBjYXN0CisgICAgICAgIHRoZW0gdG8gdm9p
ZCogd2hlbiB1c2luZyBtZW1jcHkgaW4gb3JkZXIgdG8gYXZvaWQgLVdjbGFzcy1tZW1hY2Nlc3Mg
d2FybmluZ3MgZnJvbSBHQ0MuCisKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0
aW9uVW5peC5jcHA6CisgICAgICAgIChJUEM6OkF0dGFjaG1lbnRJbmZvOjpBdHRhY2htZW50SW5m
byk6CisgICAgICAgICgpOiBEZWxldGVkLgorICAgICAgICAqIFBsYXRmb3JtL0lQQy91bml4L1Vu
aXhNZXNzYWdlLmg6CisgICAgICAgIChJUEM6Ok1lc3NhZ2VJbmZvOjpNZXNzYWdlSW5mbyk6Cisg
ICAgICAgIChJUEM6OlVuaXhNZXNzYWdlOjpVbml4TWVzc2FnZSk6CisKIDIwMjEtMDEtMTkgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBkcm9w
IHJlbWFpbmluZyBtYWluLXRocmVhZCBhc3NlcnRpb24gaW4gU2hhcmVhYmxlQml0bWFwIHRoYXQg
SSBtaXNzZWQgaW4gcjI3MTUzMy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0v
SVBDL3VuaXgvQ29ubmVjdGlvblVuaXguY3BwIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMv
dW5peC9Db25uZWN0aW9uVW5peC5jcHAKaW5kZXggM2Q1NDQwMjE3YzFkM2YwY2ViNGY5NDZhZWE4
MzBmMjE1MDgwMmZkNy4uODk1NjcwZTg2MjhjYWYyOWE3MjEyYTY4NzIxYjIxYTRjYWEyMmEwOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0aW9uVW5p
eC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0aW9uVW5p
eC5jcHAKQEAgLTY0LDcgKzY0LDIyIEBAIHN0YXRpYyBjb25zdCBzaXplX3QgYXR0YWNobWVudE1h
eEFtb3VudCA9IDI1NDsKIGNsYXNzIEF0dGFjaG1lbnRJbmZvIHsKICAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBBdHRhY2htZW50SW5mbygpID0gZGVmYXVsdDsKKyAg
ICBBdHRhY2htZW50SW5mbygpCisgICAgeworICAgICAgICAvLyBUaGUgZW50aXJlIEF0dGFjaG1l
bnRJbmZvIGlzIHBhc3NlZCB0byB3cml0ZSgpLCBzbyB3ZSBoYXZlIHRvIHplcm8gb3VyCisgICAg
ICAgIC8vIHBhZGRpbmcgYnl0ZXMgdG8gYXZvaWQgd3JpdGluZyB1bmluaXRpYWxpemVkIG1lbW9y
eS4KKyAgICAgICAgbWVtc2V0KHN0YXRpY19jYXN0PHZvaWQqPih0aGlzKSwgMCwgc2l6ZW9mKCp0
aGlzKSk7CisgICAgfQorCisgICAgQXR0YWNobWVudEluZm8oY29uc3QgQXR0YWNobWVudEluZm8m
IGluZm8pCisgICAgeworICAgICAgICBtZW1zZXQoc3RhdGljX2Nhc3Q8dm9pZCo+KHRoaXMpLCAw
LCBzaXplb2YoKnRoaXMpKTsKKyAgICAgICAgbV90eXBlID0gaW5mby5tX3R5cGU7CisgICAgICAg
IG1faXNOdWxsID0gaW5mby5tX2lzTnVsbDsKKyAgICAgICAgbV9zaXplID0gaW5mby5tX3NpemU7
CisgICAgfQorCisgICAgQXR0YWNobWVudEluZm8mIG9wZXJhdG9yPShjb25zdCBBdHRhY2htZW50
SW5mbyYpID0gZGVmYXVsdDsKIAogICAgIHZvaWQgc2V0VHlwZShBdHRhY2htZW50OjpUeXBlIHR5
cGUpIHsgbV90eXBlID0gdHlwZTsgfQogICAgIEF0dGFjaG1lbnQ6OlR5cGUgdHlwZSgpIGNvbnN0
IHsgcmV0dXJuIG1fdHlwZTsgfQpAQCAtODUsOSArMTAwLDEwIEBAIHB1YmxpYzoKICAgICBib29s
IGlzTnVsbCgpIGNvbnN0IHsgcmV0dXJuIG1faXNOdWxsOyB9CiAKIHByaXZhdGU6Ci0gICAgQXR0
YWNobWVudDo6VHlwZSBtX3R5cGUgeyBBdHRhY2htZW50OjpVbmluaXRpYWxpemVkIH07Ci0gICAg
Ym9vbCBtX2lzTnVsbCB7IGZhbHNlIH07Ci0gICAgc2l6ZV90IG1fc2l6ZSB7IDAgfTsKKyAgICAv
LyBUaGUgQXR0YWNobWVudEluZm8gd2lsbCBiZSBjb3BpZWQgdXNpbmcgbWVtY3B5LCBzbyBhbGwg
bWVtYmVycyBtdXN0IGJlIHRyaXZpYWxseSBjb3B5YWJsZS4KKyAgICBBdHRhY2htZW50OjpUeXBl
IG1fdHlwZTsKKyAgICBib29sIG1faXNOdWxsOworICAgIHNpemVfdCBtX3NpemU7CiB9OwogCiBz
dGF0aWNfYXNzZXJ0KHNpemVvZihNZXNzYWdlSW5mbykgKyBzaXplb2YoQXR0YWNobWVudEluZm8p
ICogYXR0YWNobWVudE1heEFtb3VudCA8PSBtZXNzYWdlTWF4U2l6ZSwgIm1lc3NhZ2VNYXhTaXpl
IGlzIHRvbyBzbWFsbC4iKTsKQEAgLTEzOCw3ICsxNTQsNyBAQCBib29sIENvbm5lY3Rpb246OnBy
b2Nlc3NNZXNzYWdlKCkKIAogICAgIHVpbnQ4X3QqIG1lc3NhZ2VEYXRhID0gbV9yZWFkQnVmZmVy
LmRhdGEoKTsKICAgICBNZXNzYWdlSW5mbyBtZXNzYWdlSW5mbzsKLSAgICBtZW1jcHkoJm1lc3Nh
Z2VJbmZvLCBtZXNzYWdlRGF0YSwgc2l6ZW9mKG1lc3NhZ2VJbmZvKSk7CisgICAgbWVtY3B5KHN0
YXRpY19jYXN0PHZvaWQqPigmbWVzc2FnZUluZm8pLCBtZXNzYWdlRGF0YSwgc2l6ZW9mKG1lc3Nh
Z2VJbmZvKSk7CiAgICAgbWVzc2FnZURhdGEgKz0gc2l6ZW9mKG1lc3NhZ2VJbmZvKTsKIAogICAg
IGlmIChtZXNzYWdlSW5mby5hdHRhY2htZW50Q291bnQoKSA+IGF0dGFjaG1lbnRNYXhBbW91bnQg
fHwgKCFtZXNzYWdlSW5mby5pc0JvZHlPdXRPZkxpbmUoKSAmJiBtZXNzYWdlSW5mby5ib2R5U2l6
ZSgpID4gbWVzc2FnZU1heFNpemUpKSB7CkBAIC0xNTUsNyArMTcxLDcgQEAgYm9vbCBDb25uZWN0
aW9uOjpwcm9jZXNzTWVzc2FnZSgpCiAgICAgVmVjdG9yPEF0dGFjaG1lbnRJbmZvPiBhdHRhY2ht
ZW50SW5mbyhhdHRhY2htZW50Q291bnQpOwogCiAgICAgaWYgKGF0dGFjaG1lbnRDb3VudCkgewot
ICAgICAgICBtZW1jcHkoYXR0YWNobWVudEluZm8uZGF0YSgpLCBtZXNzYWdlRGF0YSwgc2l6ZW9m
KEF0dGFjaG1lbnRJbmZvKSAqIGF0dGFjaG1lbnRDb3VudCk7CisgICAgICAgIG1lbWNweShzdGF0
aWNfY2FzdDx2b2lkKj4oYXR0YWNobWVudEluZm8uZGF0YSgpKSwgbWVzc2FnZURhdGEsIHNpemVv
ZihBdHRhY2htZW50SW5mbykgKiBhdHRhY2htZW50Q291bnQpOwogICAgICAgICBtZXNzYWdlRGF0
YSArPSBzaXplb2YoQXR0YWNobWVudEluZm8pICogYXR0YWNobWVudENvdW50OwogCiAgICAgICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgYXR0YWNobWVudENvdW50OyArK2kpIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL3VuaXgvVW5peE1lc3NhZ2UuaCBiL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm0vSVBDL3VuaXgvVW5peE1lc3NhZ2UuaAppbmRleCAyNDNjZTk5M2Jl
ZTcxN2UzYTRmMmJkMGQ2ZDc3ZGU1MjU4ZjBhNGQ5Li44MDM1ZDdkZmJkYzFiNjI5MTBiMDhlZjli
MzY1YzM5YzM4YTU4MDk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy91
bml4L1VuaXhNZXNzYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvdW5peC9V
bml4TWVzc2FnZS5oCkBAIC0zOCwxNiArMzgsMjYgQEAgcHVibGljOgogICAgIHsKICAgICAgICAg
Ly8gVGhlIGVudGlyZSBNZXNzYWdlSW5mbyBpcyBwYXNzZWQgdG8gd3JpdGUoKSwgc28gd2UgaGF2
ZSB0byB6ZXJvIG91cgogICAgICAgICAvLyBwYWRkaW5nIGJ5dGVzIHRvIGF2b2lkIHdyaXRpbmcg
dW5pbml0aWFsaXplZCBtZW1vcnkuCi0gICAgICAgIG1lbXNldCh0aGlzLCAwLCBzaXplb2YoKnRo
aXMpKTsKKyAgICAgICAgbWVtc2V0KHN0YXRpY19jYXN0PHZvaWQqPih0aGlzKSwgMCwgc2l6ZW9m
KCp0aGlzKSk7CiAgICAgfQogCiAgICAgTWVzc2FnZUluZm8oc2l6ZV90IGJvZHlTaXplLCBzaXpl
X3QgaW5pdGlhbEF0dGFjaG1lbnRDb3VudCkKICAgICB7Ci0gICAgICAgIG1lbXNldCh0aGlzLCAw
LCBzaXplb2YoKnRoaXMpKTsKKyAgICAgICAgbWVtc2V0KHN0YXRpY19jYXN0PHZvaWQqPih0aGlz
KSwgMCwgc2l6ZW9mKCp0aGlzKSk7CiAgICAgICAgIG1fYm9keVNpemUgPSBib2R5U2l6ZTsKICAg
ICAgICAgbV9hdHRhY2htZW50Q291bnQgPSBpbml0aWFsQXR0YWNobWVudENvdW50OwogICAgIH0K
IAorICAgIE1lc3NhZ2VJbmZvKGNvbnN0IE1lc3NhZ2VJbmZvJiBpbmZvKQorICAgIHsKKyAgICAg
ICAgbWVtc2V0KHN0YXRpY19jYXN0PHZvaWQqPih0aGlzKSwgMCwgc2l6ZW9mKCp0aGlzKSk7Cisg
ICAgICAgIG1fYm9keVNpemUgPSBpbmZvLm1fYm9keVNpemU7CisgICAgICAgIG1fYXR0YWNobWVu
dENvdW50ID0gaW5mby5tX2F0dGFjaG1lbnRDb3VudDsKKyAgICAgICAgbV9pc0JvZHlPdXRPZkxp
bmUgPSBpbmZvLm1faXNCb2R5T3V0T2ZMaW5lOworICAgIH0KKworICAgIE1lc3NhZ2VJbmZvJiBv
cGVyYXRvcj0oY29uc3QgTWVzc2FnZUluZm8mKSA9IGRlZmF1bHQ7CisKICAgICB2b2lkIHNldEJv
ZHlPdXRPZkxpbmUoKQogICAgIHsKICAgICAgICAgQVNTRVJUKCFpc0JvZHlPdXRPZkxpbmUoKSk7
CkBAIC02MSw5ICs3MSwxMCBAQCBwdWJsaWM6CiAgICAgc2l6ZV90IGF0dGFjaG1lbnRDb3VudCgp
IGNvbnN0IHsgcmV0dXJuIG1fYXR0YWNobWVudENvdW50OyB9CiAKIHByaXZhdGU6Ci0gICAgc2l6
ZV90IG1fYm9keVNpemUgeyAwIH07Ci0gICAgc2l6ZV90IG1fYXR0YWNobWVudENvdW50IHsgMCB9
OwotICAgIGJvb2wgbV9pc0JvZHlPdXRPZkxpbmUgeyBmYWxzZSB9OworICAgIC8vIFRoZSBNZXNz
YWdlSW5mbyB3aWxsIGJlIGNvcGllZCB1c2luZyBtZW1jcHksIHNvIGFsbCBtZW1iZXJzIG11c3Qg
YmUgdHJpdmlhbGx5IGNvcHlhYmxlLgorICAgIHNpemVfdCBtX2JvZHlTaXplOworICAgIHNpemVf
dCBtX2F0dGFjaG1lbnRDb3VudDsKKyAgICBib29sIG1faXNCb2R5T3V0T2ZMaW5lOwogfTsKIAog
Y2xhc3MgVW5peE1lc3NhZ2Ugewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417917</attachid>
            <date>2021-01-19 15:10:36 -0800</date>
            <delta_ts>2021-01-19 15:50:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220668-20210119171035.patch</filename>
            <type>text/plain</type>
            <size>5869</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNjE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDI5MjUyY2VjZTk3ZjQ3ZDRj
MGEzMjM5OGVmMDlhYTQxNTQ2ZjJhNTEuLmNiMmZjZGEwNTc3ZWJjOTdmYzQ5NDI5MDI2NjhkYWQx
NWMxY2MxNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAKKzIwMjEtMDEtMTkgIE1pY2hhZWwg
Q2F0YW56YXJvICA8bWNhdGFuemFyb0Bnbm9tZS5vcmc+CisKKyAgICAgICAgU3lzY2FsbCBwYXJh
bSBzZW5kbXNnKG1zZy5tc2dfaW92WzFdKSBwb2ludHMgdG8gdW5pbml0aWFsaXNlZCBieXRlKHMp
IGluIElQQzo6Q29ubmVjdGlvbjo6c2VuZE91dGdvaW5nTWVzc2FnZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwNjY4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgV2UgcHJldmlvdXNseSBkaXNjb3ZlcmVkIHRo
YXQgd2UgbmVlZCB0byBlaXRoZXIgKGEpIG1hbnVhbGx5IHplcm8gdGhlIE1lc3NhZ2VJbmZvIHN0
cnVjdAorICAgICAgICB3aXRoIG1lbWNweSAoYWNjZXB0ZWQgc29sdXRpb24pLCBvciBiKSB1c2Ug
X19hdHRyaWJ1dGVfXygocGFja2VkKSkgdG8gb21pdCBzdHJ1Y3QgcGFja2luZy4KKyAgICAgICAg
VGhpcyBzZWVtZWQgdG8gZml4IG91ciB2YWxncmluZCB3YXJuaW5ncyB3aGVuIGJtYWxsb2Mgd2Fz
IGluIHVzZSwgYnV0IG5vdCB3aGVuIGJtYWxsb2MgaXMKKyAgICAgICAgZGlzYWJsZWQsIGFzIGlz
IGdvb2QgcHJhY3RpY2Ugd2hlbiB2YWxncmluZGluZy4KKworICAgICAgICBUdXJucyBvdXQgd2Ug
bmVlZCB0byB6ZXJvIChvciBwYWNrKSB0aGUgQXR0YWNobWVudEluZm8gc3RydWN0IGFzIHdlbGwu
IExldCdzIGdvIHdpdGggemVyb2luZworICAgICAgICBpdCwgc2luY2UgYWxsIGl0cyBtZW1iZXJz
IGFyZSB0cml2aWFsbHkgY29weWFibGUsIHNvIHRoYXQncyBzYWZlIHRvIGRvLgorCisgICAgICAg
IEZvciBnb29kIG1lYXN1cmUsIHdlJ2xsIGltcGxlbWVudCBhIGNvcHkgY29uc3RydWN0b3IgYW5k
IGRvIHNvIHRoZXJlIGFzIHdlbGwuIERvIHRoaXMgZm9yCisgICAgICAgIE1lc3NhZ2VJbmZvIHRv
bywgdG8gcm91bmQgb3V0IHRoZSBvcmlnaW5hbCBmaXggdG8gTWVzc2FnZUluZm8uCisKKyAgICAg
ICAgU2luY2UgQXR0YWNobWVudEluZm8gYW5kIE1lc3NhZ2VJbmZvIGFyZSBubyBsb25nZXIgdHJp
dmlhbGx5LWNvcHlhYmxlLCB3ZSBub3cgbmVlZCB0byBjYXN0CisgICAgICAgIHRoZW0gdG8gdm9p
ZCogd2hlbiB1c2luZyBtZW1jcHkgaW4gb3JkZXIgdG8gYXZvaWQgLVdjbGFzcy1tZW1hY2Nlc3Mg
d2FybmluZ3MgZnJvbSBHQ0MuCisKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0
aW9uVW5peC5jcHA6CisgICAgICAgIChJUEM6OkF0dGFjaG1lbnRJbmZvOjpBdHRhY2htZW50SW5m
byk6CisgICAgICAgICgpOiBEZWxldGVkLgorICAgICAgICAqIFBsYXRmb3JtL0lQQy91bml4L1Vu
aXhNZXNzYWdlLmg6CisgICAgICAgIChJUEM6Ok1lc3NhZ2VJbmZvOjpNZXNzYWdlSW5mbyk6Cisg
ICAgICAgIChJUEM6OlVuaXhNZXNzYWdlOjpVbml4TWVzc2FnZSk6CisKIDIwMjEtMDEtMTkgIEpp
ZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViQXV0aG5dIFBv
bGlzaCB0aGUgbmV3IFdlYkF1dGhuIFVJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL0lQQy91bml4L0Nvbm5lY3Rpb25Vbml4LmNwcCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0v
SVBDL3VuaXgvQ29ubmVjdGlvblVuaXguY3BwCmluZGV4IDNkNTQ0MDIxN2MxZDNmMGNlYjRmOTQ2
YWVhODMwZjIxNTA4MDJmZDcuLmM1N2FiMzY5N2FmNTFlOGE2NGZmOTNkYjBmNWU3NjNlNDg0MDgw
YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL3VuaXgvQ29ubmVjdGlv
blVuaXguY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL3VuaXgvQ29ubmVjdGlv
blVuaXguY3BwCkBAIC02NCw3ICs2NCwyMCBAQCBzdGF0aWMgY29uc3Qgc2l6ZV90IGF0dGFjaG1l
bnRNYXhBbW91bnQgPSAyNTQ7CiBjbGFzcyBBdHRhY2htZW50SW5mbyB7CiAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgQXR0YWNobWVudEluZm8oKSA9IGRlZmF1bHQ7
CisgICAgQXR0YWNobWVudEluZm8oKQorICAgIHsKKyAgICAgICAgLy8gVGhlIGVudGlyZSBBdHRh
Y2htZW50SW5mbyBpcyBwYXNzZWQgdG8gd3JpdGUoKSwgc28gd2UgaGF2ZSB0byB6ZXJvIG91cgor
ICAgICAgICAvLyBwYWRkaW5nIGJ5dGVzIHRvIGF2b2lkIHdyaXRpbmcgdW5pbml0aWFsaXplZCBt
ZW1vcnkuCisgICAgICAgIG1lbXNldChzdGF0aWNfY2FzdDx2b2lkKj4odGhpcyksIDAsIHNpemVv
ZigqdGhpcykpOworICAgIH0KKworICAgIEF0dGFjaG1lbnRJbmZvKGNvbnN0IEF0dGFjaG1lbnRJ
bmZvJiBpbmZvKQorICAgIHsKKyAgICAgICAgbWVtc2V0KHN0YXRpY19jYXN0PHZvaWQqPih0aGlz
KSwgMCwgc2l6ZW9mKCp0aGlzKSk7CisgICAgICAgICp0aGlzID0gaW5mbzsKKyAgICB9CisKKyAg
ICBBdHRhY2htZW50SW5mbyYgb3BlcmF0b3I9KGNvbnN0IEF0dGFjaG1lbnRJbmZvJikgPSBkZWZh
dWx0OwogCiAgICAgdm9pZCBzZXRUeXBlKEF0dGFjaG1lbnQ6OlR5cGUgdHlwZSkgeyBtX3R5cGUg
PSB0eXBlOyB9CiAgICAgQXR0YWNobWVudDo6VHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90
eXBlOyB9CkBAIC04NSw5ICs5OCwxMCBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc051bGwoKSBjb25z
dCB7IHJldHVybiBtX2lzTnVsbDsgfQogCiBwcml2YXRlOgotICAgIEF0dGFjaG1lbnQ6OlR5cGUg
bV90eXBlIHsgQXR0YWNobWVudDo6VW5pbml0aWFsaXplZCB9OwotICAgIGJvb2wgbV9pc051bGwg
eyBmYWxzZSB9OwotICAgIHNpemVfdCBtX3NpemUgeyAwIH07CisgICAgLy8gVGhlIEF0dGFjaG1l
bnRJbmZvIHdpbGwgYmUgY29waWVkIHVzaW5nIG1lbWNweSwgc28gYWxsIG1lbWJlcnMgbXVzdCBi
ZSB0cml2aWFsbHkgY29weWFibGUuCisgICAgQXR0YWNobWVudDo6VHlwZSBtX3R5cGU7CisgICAg
Ym9vbCBtX2lzTnVsbDsKKyAgICBzaXplX3QgbV9zaXplOwogfTsKIAogc3RhdGljX2Fzc2VydChz
aXplb2YoTWVzc2FnZUluZm8pICsgc2l6ZW9mKEF0dGFjaG1lbnRJbmZvKSAqIGF0dGFjaG1lbnRN
YXhBbW91bnQgPD0gbWVzc2FnZU1heFNpemUsICJtZXNzYWdlTWF4U2l6ZSBpcyB0b28gc21hbGwu
Iik7CkBAIC0xMzgsNyArMTUyLDcgQEAgYm9vbCBDb25uZWN0aW9uOjpwcm9jZXNzTWVzc2FnZSgp
CiAKICAgICB1aW50OF90KiBtZXNzYWdlRGF0YSA9IG1fcmVhZEJ1ZmZlci5kYXRhKCk7CiAgICAg
TWVzc2FnZUluZm8gbWVzc2FnZUluZm87Ci0gICAgbWVtY3B5KCZtZXNzYWdlSW5mbywgbWVzc2Fn
ZURhdGEsIHNpemVvZihtZXNzYWdlSW5mbykpOworICAgIG1lbWNweShzdGF0aWNfY2FzdDx2b2lk
Kj4oJm1lc3NhZ2VJbmZvKSwgbWVzc2FnZURhdGEsIHNpemVvZihtZXNzYWdlSW5mbykpOwogICAg
IG1lc3NhZ2VEYXRhICs9IHNpemVvZihtZXNzYWdlSW5mbyk7CiAKICAgICBpZiAobWVzc2FnZUlu
Zm8uYXR0YWNobWVudENvdW50KCkgPiBhdHRhY2htZW50TWF4QW1vdW50IHx8ICghbWVzc2FnZUlu
Zm8uaXNCb2R5T3V0T2ZMaW5lKCkgJiYgbWVzc2FnZUluZm8uYm9keVNpemUoKSA+IG1lc3NhZ2VN
YXhTaXplKSkgewpAQCAtMTU1LDcgKzE2OSw3IEBAIGJvb2wgQ29ubmVjdGlvbjo6cHJvY2Vzc01l
c3NhZ2UoKQogICAgIFZlY3RvcjxBdHRhY2htZW50SW5mbz4gYXR0YWNobWVudEluZm8oYXR0YWNo
bWVudENvdW50KTsKIAogICAgIGlmIChhdHRhY2htZW50Q291bnQpIHsKLSAgICAgICAgbWVtY3B5
KGF0dGFjaG1lbnRJbmZvLmRhdGEoKSwgbWVzc2FnZURhdGEsIHNpemVvZihBdHRhY2htZW50SW5m
bykgKiBhdHRhY2htZW50Q291bnQpOworICAgICAgICBtZW1jcHkoc3RhdGljX2Nhc3Q8dm9pZCo+
KGF0dGFjaG1lbnRJbmZvLmRhdGEoKSksIG1lc3NhZ2VEYXRhLCBzaXplb2YoQXR0YWNobWVudElu
Zm8pICogYXR0YWNobWVudENvdW50KTsKICAgICAgICAgbWVzc2FnZURhdGEgKz0gc2l6ZW9mKEF0
dGFjaG1lbnRJbmZvKSAqIGF0dGFjaG1lbnRDb3VudDsKIAogICAgICAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IGF0dGFjaG1lbnRDb3VudDsgKytpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1BsYXRmb3JtL0lQQy91bml4L1VuaXhNZXNzYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL0lQQy91bml4L1VuaXhNZXNzYWdlLmgKaW5kZXggMjQzY2U5OTNiZWU3MTdlM2E0ZjJiZDBk
NmQ3N2RlNTI1OGYwYTRkOS4uMzMyN2E0ODA3NmIyYWZmNDJhNjE4NDhjNDA4YTI4YmQ3MWM0MTk2
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvdW5peC9Vbml4TWVzc2Fn
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL3VuaXgvVW5peE1lc3NhZ2UuaApA
QCAtMzgsMTYgKzM4LDI0IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIC8vIFRoZSBlbnRpcmUg
TWVzc2FnZUluZm8gaXMgcGFzc2VkIHRvIHdyaXRlKCksIHNvIHdlIGhhdmUgdG8gemVybyBvdXIK
ICAgICAgICAgLy8gcGFkZGluZyBieXRlcyB0byBhdm9pZCB3cml0aW5nIHVuaW5pdGlhbGl6ZWQg
bWVtb3J5LgotICAgICAgICBtZW1zZXQodGhpcywgMCwgc2l6ZW9mKCp0aGlzKSk7CisgICAgICAg
IG1lbXNldChzdGF0aWNfY2FzdDx2b2lkKj4odGhpcyksIDAsIHNpemVvZigqdGhpcykpOwogICAg
IH0KIAogICAgIE1lc3NhZ2VJbmZvKHNpemVfdCBib2R5U2l6ZSwgc2l6ZV90IGluaXRpYWxBdHRh
Y2htZW50Q291bnQpCiAgICAgewotICAgICAgICBtZW1zZXQodGhpcywgMCwgc2l6ZW9mKCp0aGlz
KSk7CisgICAgICAgIG1lbXNldChzdGF0aWNfY2FzdDx2b2lkKj4odGhpcyksIDAsIHNpemVvZigq
dGhpcykpOwogICAgICAgICBtX2JvZHlTaXplID0gYm9keVNpemU7CiAgICAgICAgIG1fYXR0YWNo
bWVudENvdW50ID0gaW5pdGlhbEF0dGFjaG1lbnRDb3VudDsKICAgICB9CiAKKyAgICBNZXNzYWdl
SW5mbyhjb25zdCBNZXNzYWdlSW5mbyYgaW5mbykKKyAgICB7CisgICAgICAgIG1lbXNldChzdGF0
aWNfY2FzdDx2b2lkKj4odGhpcyksIDAsIHNpemVvZigqdGhpcykpOworICAgICAgICAqdGhpcyA9
IGluZm87CisgICAgfQorCisgICAgTWVzc2FnZUluZm8mIG9wZXJhdG9yPShjb25zdCBNZXNzYWdl
SW5mbyYpID0gZGVmYXVsdDsKKwogICAgIHZvaWQgc2V0Qm9keU91dE9mTGluZSgpCiAgICAgewog
ICAgICAgICBBU1NFUlQoIWlzQm9keU91dE9mTGluZSgpKTsKQEAgLTYxLDkgKzY5LDEwIEBAIHB1
YmxpYzoKICAgICBzaXplX3QgYXR0YWNobWVudENvdW50KCkgY29uc3QgeyByZXR1cm4gbV9hdHRh
Y2htZW50Q291bnQ7IH0KIAogcHJpdmF0ZToKLSAgICBzaXplX3QgbV9ib2R5U2l6ZSB7IDAgfTsK
LSAgICBzaXplX3QgbV9hdHRhY2htZW50Q291bnQgeyAwIH07Ci0gICAgYm9vbCBtX2lzQm9keU91
dE9mTGluZSB7IGZhbHNlIH07CisgICAgLy8gVGhlIE1lc3NhZ2VJbmZvIHdpbGwgYmUgY29waWVk
IHVzaW5nIG1lbWNweSwgc28gYWxsIG1lbWJlcnMgbXVzdCBiZSB0cml2aWFsbHkgY29weWFibGUu
CisgICAgc2l6ZV90IG1fYm9keVNpemU7CisgICAgc2l6ZV90IG1fYXR0YWNobWVudENvdW50Owor
ICAgIGJvb2wgbV9pc0JvZHlPdXRPZkxpbmU7CiB9OwogCiBjbGFzcyBVbml4TWVzc2FnZSB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>