<?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>267786</bug_id>
          
          <creation_ts>2024-01-19 14:25:51 -0800</creation_ts>
          <short_desc>AX: Isolated object can be detached in the midst of serving AXChildren, causing nullptr dereference</short_desc>
          <delta_ts>2024-01-22 16:43:53 -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>Accessibility</component>
          <version>Other</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="Tyler Wilcock">tyler_w</reporter>
          <assigned_to name="Tyler Wilcock">tyler_w</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>andresg_22</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jcraig</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2006246</commentid>
    <comment_count>0</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2024-01-19 14:25:51 -0800</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2006247</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2024-01-19 14:26:01 -0800</bug_when>
    <thetext>&lt;rdar://problem/121282648&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2006248</commentid>
    <comment_count>2</comment_count>
      <attachid>469472</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2024-01-19 14:32:28 -0800</bug_when>
    <thetext>Created attachment 469472
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2006560</commentid>
    <comment_count>3</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2024-01-22 08:39:20 -0800</bug_when>
    <thetext>(In reply to Tyler Wilcock from comment #2)
&gt; Created attachment 469472 [details]
&gt; Patch

@@ -1567,7 +1545,7 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
         }
 #endif

-        if (!self.childrenVectorSize) {
+        if (backingObject-&gt;children().isEmpty()) {
             if (NSArray *children = [self renderWidgetChildren])
                 return children;
         }
@@ -1581,7 +1559,7 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
         if (backingObject-&gt;isTreeItem())
             return makeNSArray(backingObject-&gt;ariaTreeItemContent());

-        return self.childrenVectorArray;
+        return makeNSArray(backingObject-&gt;children());

AG: we should avoid calling backingObject-&gt;children() twice in this block, first for the size and down here for real.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2006579</commentid>
    <comment_count>4</comment_count>
      <attachid>469499</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2024-01-22 10:05:22 -0800</bug_when>
    <thetext>Created attachment 469499
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2006608</commentid>
    <comment_count>5</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2024-01-22 11:24:36 -0800</bug_when>
    <thetext>(In reply to Andres Gonzalez from comment #3)
&gt; AG: we should avoid calling backingObject-&gt;children() twice in this block,
&gt; first for the size and down here for real.
TW: Fixed!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2006730</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2024-01-22 16:43:52 -0800</bug_when>
    <thetext>Committed 273328@main (b571ec5131dc): &lt;https://commits.webkit.org/273328@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 469499.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>469472</attachid>
            <date>2024-01-19 14:32:28 -0800</date>
            <delta_ts>2024-01-22 10:05:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-267786-20240119143227.patch</filename>
            <type>text/plain</type>
            <size>10062</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">RnJvbSBjNDhmNmQxM2E0NGNiZGZlZTYyZjY3NjBjZjk1NWY3NTNlZDVmNjI5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUeWxlciBXaWxjb2NrIDx0eWxlcl93QGFwcGxlLmNvbT4KRGF0
ZTogRnJpLCAxOSBKYW4gMjAyNCAxNDoyNTo1NiAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIEFYOiBJ
c29sYXRlZCBvYmplY3QgY2FuIGJlIGRldGFjaGVkIGluIHRoZSBtaWRzdCBvZiBzZXJ2aW5nCiBB
WENoaWxkcmVuLCBjYXVzaW5nIG51bGxwdHIgZGVyZWZlcmVuY2UKIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjc3ODYgcmRhcjovL3Byb2JsZW0vMTIxMjgyNjQ4CgpS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KClRoZSBmb2xsb3dpbmcgc2VxdWVuY2UgaXMgcG9z
c2libGU6CgogIDEuIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZSBiZWdpbnMsIHdlIHByb3Rl
Y3QgdGhlIGluaXRpYWwgYmFja2luZ09iamVjdCB3aXRoIGEgUmVmUHRyCiAgMi4gV2Ugc3RhcnQg
aGFuZGxpbmcgdGhlIEFYQ2hpbGRyZW4gYnJhbmNoCiAgMy4gV2UgY2FsbCBjaGlsZHJlblZlY3Rv
clNpemUgaW4gdGhlIG1pZGRsZSBvZiBkb2luZyBzbwogIDQuIFRoaXMgY2FsbHMgc2VsZi5heEJh
Y2tpbmdPYmplY3QtPmNoaWxkcmVuKCksIHdoaWNoIGluIHR1cm4gY2FsbHMgQVhJc29sYXRlZE9i
amVjdDo6dXBkYXRlQmFja2luZ1N0b3JlLCBpbiB0dXJuCiAgICAgY2FsbGluZyBBWElzb2xhdGVk
VHJlZTo6YXBwbHlQZW5kaW5nQ2hhbmdlcwogIDUuIEZvciBzb21lIHJlYXNvbiwgZWl0aGVyIHNl
bGYuYXhCYWNraW5nT2JqZWN0IG9yIGl0cyBhbmNlc3RvciBpcyBpbiBtX3BlbmRpbmdTdWJ0cmVl
UmVtb3ZhbHMsIGNhdXNpbmcgdGhlIHdyYXBwZXIKICAgICB0byBkZXRhY2ggaXRzIG1faXNvbGF0
ZWRPYmplY3QKICA2LiBXZSBqdW1wIGJhY2sgb3V0IHRvIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVW
YWx1ZSwgYW5kIHRyeSB0byByZXR1cm4gc2VsZi5jaGlsZHJlblZlY3RvckFycmF5IGF0IHRoZSB2
ZXJ5IGVuZC4gQnV0CiAgICAgb3VyIHNlbGYuYXhCYWNraW5nT2JqZWN0IGlzIG51bGxwdHIgbm93
LCBhbmQgd2UgZGVyZWZlcmVuY2UgaXQgd2l0aG91dCBjaGVja2luZyBmb3IgbnVsbHB0ciwgYW5k
IGNyYXNoCgpXZSBjYW4gZml4IHRoaXMgYnkgdXNpbmcgdGhlIFJlZlB0ciBwcm90ZWN0ZWQgYGJh
Y2tpbmdPYmplY3RgIHdlIGhhdmUgYXQgdGhlIHRvcCBvZiBldmVyeSBtZXRob2QgcmF0aGVyIHRo
YW4gdGhlCmJhY2tpbmcgb2JqZWN0IGFzc29jaWF0ZWQgd2l0aCB0aGUgd3JhcHBlciwgd2hpY2gg
Y2FuIGJlY29tZSBkZXRhY2hlZC4gVGhpcyBwYXRjaCBhZGRyZXNzZXMgc29tZSwgYnV0IG5vdCBh
bGwKb2Ygc2VsZi5heEJhY2tpbmdPYmplY3QgZGVyZWZlcmVuY2VzIChvdmVyYWxsIGFkZHJlc3Np
bmcgdGhlIGRlcmVmZXJlbmNlIGZvciB0aGlzIHNwZWNpZmljIGNyYXNoLCBhbmQgb3RoZXJzIHRv
bykuCgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVyTWFjLm1tOgooc2NyZWVuVG9Db250ZW50cyk6CihzY3JvbGxWaWV3UGFyZW50
KToKKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgYWNjZXNzaWJpbGl0eUF0dHJpYnV0
ZVZhbHVlOl0pOgooLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBhY2Nlc3NpYmlsaXR5
QXR0cmlidXRlVmFsdWU6Zm9yUGFyYW1ldGVyOl0pOgooLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlciBhY2Nlc3NpYmlsaXR5QXJyYXlBdHRyaWJ1dGVDb3VudDpdKToKKC1bV2ViQWNjZXNz
aWJpbGl0eU9iamVjdFdyYXBwZXIgYWNjZXNzaWJpbGl0eUFycmF5QXR0cmlidXRlVmFsdWVzOmlu
ZGV4Om1heENvdW50Ol0pOgooLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBzY3JlZW5U
b0NvbnRlbnRzOl0pOiBEZWxldGVkLgooLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBj
aGlsZHJlblZlY3RvclNpemVdKTogRGVsZXRlZC4KKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdy
YXBwZXIgY2hpbGRyZW5WZWN0b3JBcnJheV0pOiBEZWxldGVkLgooLVtXZWJBY2Nlc3NpYmlsaXR5
T2JqZWN0V3JhcHBlciBfY29tcHV0ZWRSb2xlU3RyaW5nXSk6IERlbGV0ZWQuCigtW1dlYkFjY2Vz
c2liaWxpdHlPYmplY3RXcmFwcGVyIHNjcm9sbFZpZXdQYXJlbnRdKTogRGVsZXRlZC4KLS0tCiAu
Li4vbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tICAgfCA3NCArKysrKysr
LS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKSwgNDggZGVsZXRp
b25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2Vi
QWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbQppbmRleCBiOTk1
MDE5M2Y5NGYuLmY5YTEwMjhlNmU5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXJNYWMubW0KQEAgLTUzMiwxOCArNTMyLDE1IEBAIHN0YXRpYyBpbmxpbmUgQk9PTCBBWE9iamVj
dElzVGV4dE1hcmtlclJhbmdlKGlkIG9iamVjdCkKIAogI3ByYWdtYSBtYXJrIE90aGVyIGhlbHBl
cnMKIAotLSAoSW50UmVjdClzY3JlZW5Ub0NvbnRlbnRzOihjb25zdCBJbnRSZWN0JilyZWN0Citz
dGF0aWMgSW50UmVjdCBzY3JlZW5Ub0NvbnRlbnRzKEFYQ29yZU9iamVjdCYgYXhPYmplY3QsIElu
dFJlY3QmJiByZWN0KQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAKLSAgICBEb2N1
bWVudCogZG9jdW1lbnQgPSBzZWxmLmF4QmFja2luZ09iamVjdC0+ZG9jdW1lbnQoKTsKLSAgICBp
ZiAoIWRvY3VtZW50KQotICAgICAgICByZXR1cm4gSW50UmVjdCgpOwotICAgIAotICAgIGF1dG8q
IGZyYW1lVmlldyA9IGRvY3VtZW50LT52aWV3KCk7CisgICAgYXV0byogZG9jdW1lbnQgPSBheE9i
amVjdC5kb2N1bWVudCgpOworICAgIGF1dG8qIGZyYW1lVmlldyA9IGRvY3VtZW50ID8gZG9jdW1l
bnQtPnZpZXcoKSA6IG51bGxwdHI7CiAgICAgaWYgKCFmcmFtZVZpZXcpCi0gICAgICAgIHJldHVy
biBJbnRSZWN0KCk7Ci0gICAgCisgICAgICAgIHJldHVybiB7IH07CisKICAgICBJbnRQb2ludCBz
dGFydFBvaW50ID0gZnJhbWVWaWV3LT5zY3JlZW5Ub0NvbnRlbnRzKHJlY3QubWluWE1heFlDb3Ju
ZXIoKSk7CiAgICAgSW50UG9pbnQgZW5kUG9pbnQgPSBmcmFtZVZpZXctPnNjcmVlblRvQ29udGVu
dHMocmVjdC5tYXhYTWluWUNvcm5lcigpKTsKICAgICByZXR1cm4gSW50UmVjdChzdGFydFBvaW50
LngoKSwgc3RhcnRQb2ludC55KCksIGVuZFBvaW50LngoKSAtIHN0YXJ0UG9pbnQueCgpLCBlbmRQ
b2ludC55KCkgLSBzdGFydFBvaW50LnkoKSk7CkBAIC0xMzY2LDE2ICsxMzYzLDYgQEAgLSAoTlNC
ZXppZXJQYXRoICopcGF0aAogICAgIHJldHVybiBbc2VsZiBiZXppZXJQYXRoRnJvbVBhdGg6dHJh
bnNmb3JtZWRQYXRoXTsKIH0KIAotLSAoc2l6ZV90KWNoaWxkcmVuVmVjdG9yU2l6ZQotewotICAg
IHJldHVybiBzZWxmLmF4QmFja2luZ09iamVjdC0+Y2hpbGRyZW4oKS5zaXplKCk7Ci19Ci0KLS0g
KE5TQXJyYXk8V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgKj4gKiljaGlsZHJlblZlY3Rv
ckFycmF5Ci17Ci0gICAgcmV0dXJuIG1ha2VOU0FycmF5KHNlbGYuYXhCYWNraW5nT2JqZWN0LT5j
aGlsZHJlbigpKTsKLX0KLQogLSAoTlNTdHJpbmcqKXJvbGUKIHsKIEFMTE9XX0RFUFJFQ0FURURf
REVDTEFSQVRJT05TX0JFR0lOCkBAIC0xNDU3LDI4ICsxNDQ0LDIwIEBAIEFMTE9XX0RFUFJFQ0FU
RURfREVDTEFSQVRJT05TX0VORAogICAgIHJldHVybiBOU0FjY2Vzc2liaWxpdHlSb2xlRGVzY3Jp
cHRpb24oTlNBY2Nlc3NpYmlsaXR5VW5rbm93blJvbGUsIG5pbCk7CiB9CiAKLS0gKE5TU3RyaW5n
ICopX2NvbXB1dGVkUm9sZVN0cmluZworc3RhdGljIGlkIHNjcm9sbFZpZXdQYXJlbnQoQVhDb3Jl
T2JqZWN0JiBheE9iamVjdCkKIHsKLSAgICBpZiAoIXNlbGYuYXhCYWNraW5nT2JqZWN0KQotICAg
ICAgICByZXR1cm4gbmlsOwotICAgIHJldHVybiBzZWxmLmF4QmFja2luZ09iamVjdC0+Y29tcHV0
ZWRSb2xlU3RyaW5nKCk7Ci19Ci0KLS0gKGlkKXNjcm9sbFZpZXdQYXJlbnQKLXsKLSAgICBhdXRv
KiBiYWNraW5nT2JqZWN0ID0gc2VsZi5heEJhY2tpbmdPYmplY3Q7Ci0gICAgaWYgKCFiYWNraW5n
T2JqZWN0IHx8ICFiYWNraW5nT2JqZWN0LT5pc1Njcm9sbFZpZXcoKSkKKyAgICBpZiAoIWF4T2Jq
ZWN0LmlzU2Nyb2xsVmlldygpKQogICAgICAgICByZXR1cm4gbmlsOwogCiAgICAgLy8gSWYgdGhp
cyBzY3JvbGwgdmlldyBwcm92aWRlcyBpdCdzIHBhcmVudCBvYmplY3QgKGJlY2F1c2UgaXQncyBh
IHN1Yi1mcmFtZSksIHRoZW4KICAgICAvLyB3ZSBzaG91bGQgbm90IGZpbmQgdGhlIHJlbW90ZUFj
Y2Vzc2liaWxpdHlQYXJlbnQuCi0gICAgaWYgKGJhY2tpbmdPYmplY3QtPnBhcmVudE9iamVjdCgp
KQorICAgIGlmIChheE9iamVjdC5wYXJlbnRPYmplY3QoKSkKICAgICAgICAgcmV0dXJuIG5pbDsK
IAotICAgIGlmIChhdXRvIHBsYXRmb3JtV2lkZ2V0ID0gYmFja2luZ09iamVjdC0+cGxhdGZvcm1X
aWRnZXQoKSkKKyAgICBpZiAoYXV0byBwbGF0Zm9ybVdpZGdldCA9IGF4T2JqZWN0LnBsYXRmb3Jt
V2lkZ2V0KCkpCiAgICAgICAgIHJldHVybiBOU0FjY2Vzc2liaWxpdHlVbmlnbm9yZWRBbmNlc3Rv
cihwbGF0Zm9ybVdpZGdldCk7CiAKLSAgICByZXR1cm4gYmFja2luZ09iamVjdC0+cmVtb3RlUGFy
ZW50T2JqZWN0KCk7CisgICAgcmV0dXJuIGF4T2JqZWN0LnJlbW90ZVBhcmVudE9iamVjdCgpOwog
fQogCiAtIChpZCl3aW5kb3dFbGVtZW50OihOU1N0cmluZyAqKWF0dHJpYnV0ZU5hbWUKQEAgLTE1
MjUsMTMgKzE1MDQsMTIgQEAgQUxMT1dfREVQUkVDQVRFRF9JTVBMRU1FTlRBVElPTlNfRU5ECiAK
ICAgICAvLyBBWEFSSUFSb2xlIGlzIG9ubHkgdXNlZCBieSBEdW1wUmVuZGVyVHJlZSAoc28gZmFy
KS4KICAgICBpZiAoW2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOkAiQVhBUklBUm9sZSJd
KQotICAgICAgICByZXR1cm4gW3NlbGYgX2NvbXB1dGVkUm9sZVN0cmluZ107CisgICAgICAgIHJl
dHVybiBiYWNraW5nT2JqZWN0LT5jb21wdXRlZFJvbGVTdHJpbmcoKTsKIAogICAgIGlmIChbYXR0
cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6IE5TQWNjZXNzaWJpbGl0eVBhcmVudEF0dHJpYnV0
ZV0pIHsKICAgICAgICAgLy8gVGhpcyB3aWxsIHJldHVybiB0aGUgcGFyZW50IG9mIHRoZSBBWFdl
YkFyZWEsIGlmIHRoaXMgaXMgYSB3ZWIgYXJlYS4KLSAgICAgICAgaWQgc2Nyb2xsVmlld1BhcmVu
dCA9IFtzZWxmIHNjcm9sbFZpZXdQYXJlbnRdOwotICAgICAgICBpZiAoc2Nyb2xsVmlld1BhcmVu
dCkKLSAgICAgICAgICAgIHJldHVybiBzY3JvbGxWaWV3UGFyZW50OworICAgICAgICBpZiAoaWQg
c2Nyb2xsVmlldyA9IHNjcm9sbFZpZXdQYXJlbnQoKmJhY2tpbmdPYmplY3QpKQorICAgICAgICAg
ICAgcmV0dXJuIHNjcm9sbFZpZXc7CiAKICAgICAgICAgLy8gVHJlZSBpdGVtIChjaGFuZ2VkIHRv
IEFYUm93cykgY2FuIG9ubHkgcmVwb3J0IHRoZSB0cmVlIChBWE91dGxpbmUpIGFzIGl0cyBwYXJl
bnQuCiAgICAgICAgIGlmIChiYWNraW5nT2JqZWN0LT5pc1RyZWVJdGVtKCkpIHsKQEAgLTE1Njcs
NyArMTU0NSw3IEBAIEFMTE9XX0RFUFJFQ0FURURfSU1QTEVNRU5UQVRJT05TX0VORAogICAgICAg
ICB9CiAjZW5kaWYKIAotICAgICAgICBpZiAoIXNlbGYuY2hpbGRyZW5WZWN0b3JTaXplKSB7Cisg
ICAgICAgIGlmIChiYWNraW5nT2JqZWN0LT5jaGlsZHJlbigpLmlzRW1wdHkoKSkgewogICAgICAg
ICAgICAgaWYgKE5TQXJyYXkgKmNoaWxkcmVuID0gW3NlbGYgcmVuZGVyV2lkZ2V0Q2hpbGRyZW5d
KQogICAgICAgICAgICAgICAgIHJldHVybiBjaGlsZHJlbjsKICAgICAgICAgfQpAQCAtMTU4MSw3
ICsxNTU5LDcgQEAgQUxMT1dfREVQUkVDQVRFRF9JTVBMRU1FTlRBVElPTlNfRU5ECiAgICAgICAg
IGlmIChiYWNraW5nT2JqZWN0LT5pc1RyZWVJdGVtKCkpCiAgICAgICAgICAgICByZXR1cm4gbWFr
ZU5TQXJyYXkoYmFja2luZ09iamVjdC0+YXJpYVRyZWVJdGVtQ29udGVudCgpKTsKIAotICAgICAg
ICByZXR1cm4gc2VsZi5jaGlsZHJlblZlY3RvckFycmF5OworICAgICAgICByZXR1cm4gbWFrZU5T
QXJyYXkoYmFja2luZ09iamVjdC0+Y2hpbGRyZW4oKSk7CiAgICAgfQogCiAgICAgaWYgKFthdHRy
aWJ1dGVOYW1lIGlzRXF1YWxUb1N0cmluZzogTlNBY2Nlc3NpYmlsaXR5U2VsZWN0ZWRDaGlsZHJl
bkF0dHJpYnV0ZV0pIHsKQEAgLTMxOTksMzUgKzMxNzcsMzUgQEAgQUxMT1dfREVQUkVDQVRFRF9J
TVBMRU1FTlRBVElPTlNfRU5ECiAKICAgICBpZiAoW2F0dHJpYnV0ZSBpc0VxdWFsVG9TdHJpbmc6
QVhFbmRUZXh0TWFya2VyRm9yQm91bmRzQXR0cmlidXRlXSkgewogICAgICAgICByZXR1cm4gQWNj
ZXNzaWJpbGl0eTo6cmV0cmlldmVBdXRvcmVsZWFzZWRWYWx1ZUZyb21NYWluVGhyZWFkPGlkPihb
JnJlY3QsIHByb3RlY3RlZFNlbGYgPSByZXRhaW5QdHIoc2VsZildICgpIC0+IFJldGFpblB0cjxp
ZD4gewotICAgICAgICAgICAgYXV0byogYmFja2luZ09iamVjdCA9IHByb3RlY3RlZFNlbGYuZ2V0
KCkuYXhCYWNraW5nT2JqZWN0OworICAgICAgICAgICAgUmVmUHRyPEFYQ29yZU9iamVjdD4gYmFj
a2luZ09iamVjdCA9IHByb3RlY3RlZFNlbGYuZ2V0KCkuYXhCYWNraW5nT2JqZWN0OwogICAgICAg
ICAgICAgaWYgKCFiYWNraW5nT2JqZWN0KQogICAgICAgICAgICAgICAgIHJldHVybiBuaWw7CiAK
LSAgICAgICAgICAgIGF1dG8qIGNhY2hlID0gYmFja2luZ09iamVjdC0+YXhPYmplY3RDYWNoZSgp
OworICAgICAgICAgICAgV2Vha1B0ciBjYWNoZSA9IGJhY2tpbmdPYmplY3QtPmF4T2JqZWN0Q2Fj
aGUoKTsKICAgICAgICAgICAgIGlmICghY2FjaGUpCiAgICAgICAgICAgICAgICAgcmV0dXJuIG5p
bDsKIAotICAgICAgICAgICAgSW50UmVjdCB3ZWJDb3JlUmVjdCA9IFtwcm90ZWN0ZWRTZWxmIHNj
cmVlblRvQ29udGVudHM6ZW5jbG9zaW5nSW50UmVjdChyZWN0KV07CisgICAgICAgICAgICBJbnRS
ZWN0IHdlYkNvcmVSZWN0ID0gc2NyZWVuVG9Db250ZW50cygqYmFja2luZ09iamVjdCwgZW5jbG9z
aW5nSW50UmVjdChyZWN0KSk7CiAgICAgICAgICAgICBDaGFyYWN0ZXJPZmZzZXQgY2hhcmFjdGVy
T2Zmc2V0ID0gY2FjaGUtPmNoYXJhY3Rlck9mZnNldEZvckJvdW5kcyh3ZWJDb3JlUmVjdCwgZmFs
c2UpOwogCi0gICAgICAgICAgICByZXR1cm4gKGlkKXRleHRNYXJrZXJGb3JDaGFyYWN0ZXJPZmZz
ZXQoY2FjaGUsIGNoYXJhY3Rlck9mZnNldCk7CisgICAgICAgICAgICByZXR1cm4gKGlkKXRleHRN
YXJrZXJGb3JDaGFyYWN0ZXJPZmZzZXQoY2FjaGUuZ2V0KCksIGNoYXJhY3Rlck9mZnNldCk7CiAg
ICAgICAgIH0pOwogICAgIH0KIAogICAgIGlmIChbYXR0cmlidXRlIGlzRXF1YWxUb1N0cmluZzpB
WFN0YXJ0VGV4dE1hcmtlckZvckJvdW5kc0F0dHJpYnV0ZV0pIHsKICAgICAgICAgcmV0dXJuIEFj
Y2Vzc2liaWxpdHk6OnJldHJpZXZlQXV0b3JlbGVhc2VkVmFsdWVGcm9tTWFpblRocmVhZDxpZD4o
WyZyZWN0LCBwcm90ZWN0ZWRTZWxmID0gcmV0YWluUHRyKHNlbGYpXSAoKSAtPiBSZXRhaW5QdHI8
aWQ+IHsKLSAgICAgICAgICAgIGF1dG8qIGJhY2tpbmdPYmplY3QgPSBwcm90ZWN0ZWRTZWxmLmdl
dCgpLmF4QmFja2luZ09iamVjdDsKKyAgICAgICAgICAgIFJlZlB0cjxBWENvcmVPYmplY3Q+IGJh
Y2tpbmdPYmplY3QgPSBwcm90ZWN0ZWRTZWxmLmdldCgpLmF4QmFja2luZ09iamVjdDsKICAgICAg
ICAgICAgIGlmICghYmFja2luZ09iamVjdCkKICAgICAgICAgICAgICAgICByZXR1cm4gbmlsOwog
Ci0gICAgICAgICAgICBhdXRvKiBjYWNoZSA9IGJhY2tpbmdPYmplY3QtPmF4T2JqZWN0Q2FjaGUo
KTsKKyAgICAgICAgICAgIFdlYWtQdHIgY2FjaGUgPSBiYWNraW5nT2JqZWN0LT5heE9iamVjdENh
Y2hlKCk7CiAgICAgICAgICAgICBpZiAoIWNhY2hlKQogICAgICAgICAgICAgICAgIHJldHVybiBu
aWw7CiAKLSAgICAgICAgICAgIEludFJlY3Qgd2ViQ29yZVJlY3QgPSBbcHJvdGVjdGVkU2VsZiBz
Y3JlZW5Ub0NvbnRlbnRzOmVuY2xvc2luZ0ludFJlY3QocmVjdCldOworICAgICAgICAgICAgSW50
UmVjdCB3ZWJDb3JlUmVjdCA9IHNjcmVlblRvQ29udGVudHMoKmJhY2tpbmdPYmplY3QsIGVuY2xv
c2luZ0ludFJlY3QocmVjdCkpOwogICAgICAgICAgICAgQ2hhcmFjdGVyT2Zmc2V0IGNoYXJhY3Rl
ck9mZnNldCA9IGNhY2hlLT5jaGFyYWN0ZXJPZmZzZXRGb3JCb3VuZHMod2ViQ29yZVJlY3QsIHRy
dWUpOwogCi0gICAgICAgICAgICByZXR1cm4gKGlkKXRleHRNYXJrZXJGb3JDaGFyYWN0ZXJPZmZz
ZXQoY2FjaGUsIGNoYXJhY3Rlck9mZnNldCk7CisgICAgICAgICAgICByZXR1cm4gKGlkKXRleHRN
YXJrZXJGb3JDaGFyYWN0ZXJPZmZzZXQoY2FjaGUuZ2V0KCksIGNoYXJhY3Rlck9mZnNldCk7CiAg
ICAgICAgIH0pOwogICAgIH0KIApAQCAtMzczMiw3ICszNzEwLDcgQEAgLSAoTlNVSW50ZWdlcilh
Y2Nlc3NpYmlsaXR5QXJyYXlBdHRyaWJ1dGVDb3VudDooTlNTdHJpbmcgKilhdHRyaWJ1dGUKICAg
ICAgICAgaWYgKGJhY2tpbmdPYmplY3QtPmlzVHJlZSgpIHx8IGJhY2tpbmdPYmplY3QtPmlzVHJl
ZUl0ZW0oKSkKICAgICAgICAgICAgIHJldHVybiBbW3NlbGYgYWNjZXNzaWJpbGl0eUF0dHJpYnV0
ZVZhbHVlOk5TQWNjZXNzaWJpbGl0eUNoaWxkcmVuQXR0cmlidXRlXSBjb3VudF07CiAKLSAgICAg
ICAgYXV0byBjaGlsZHJlblNpemUgPSBzZWxmLmNoaWxkcmVuVmVjdG9yU2l6ZTsKKyAgICAgICAg
YXV0byBjaGlsZHJlblNpemUgPSBiYWNraW5nT2JqZWN0LT5jaGlsZHJlbigpLnNpemUoKTsKICAg
ICAgICAgaWYgKCFjaGlsZHJlblNpemUpIHsKICNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKICAg
ICAgICAgICAgIGlmIChiYWNraW5nT2JqZWN0LT5pc01vZGVsKCkpCkBAIC0zNzY0LDcgKzM3NDIs
NyBAQCAtIChOU0FycmF5ICopYWNjZXNzaWJpbGl0eUFycmF5QXR0cmlidXRlVmFsdWVzOihOU1N0
cmluZyAqKWF0dHJpYnV0ZSBpbmRleDooTlNVSQogICAgICAgICByZXR1cm4gbmlsOwogCiAgICAg
aWYgKFthdHRyaWJ1dGUgaXNFcXVhbFRvU3RyaW5nOk5TQWNjZXNzaWJpbGl0eUNoaWxkcmVuQXR0
cmlidXRlXSkgewotICAgICAgICBpZiAoIXNlbGYuY2hpbGRyZW5WZWN0b3JTaXplKSB7CisgICAg
ICAgIGlmIChiYWNraW5nT2JqZWN0LT5jaGlsZHJlbigpLmlzRW1wdHkoKSkgewogICAgICAgICAg
ICAgTlNBcnJheSAqY2hpbGRyZW4gPSBuaWw7CiAjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCiAg
ICAgICAgICAgICBpZiAoYmFja2luZ09iamVjdC0+aXNNb2RlbCgpKSB7CkBAIC0zNzkyLDcgKzM3
NzAsNyBAQCAtIChOU0FycmF5ICopYWNjZXNzaWJpbGl0eUFycmF5QXR0cmlidXRlVmFsdWVzOihO
U1N0cmluZyAqKWF0dHJpYnV0ZSBpbmRleDooTlNVSQogICAgICAgICAgICAgcmV0dXJuIFtzdXBl
ciBhY2Nlc3NpYmlsaXR5QXJyYXlBdHRyaWJ1dGVWYWx1ZXM6YXR0cmlidXRlIGluZGV4OmluZGV4
IG1heENvdW50Om1heENvdW50XTsKICAgICAgICAgfQogCi0gICAgICAgIGF1dG8gY2hpbGRyZW4g
PSBzZWxmLmNoaWxkcmVuVmVjdG9yQXJyYXk7CisgICAgICAgIGF1dG8gY2hpbGRyZW4gPSBtYWtl
TlNBcnJheShiYWNraW5nT2JqZWN0LT5jaGlsZHJlbigpKTsKICAgICAgICAgdW5zaWduZWQgY2hp
bGRDb3VudCA9IFtjaGlsZHJlbiBjb3VudF07CiAgICAgICAgIGlmIChpbmRleCA+PSBjaGlsZENv
dW50KQogICAgICAgICAgICAgcmV0dXJuIG5pbDsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>469499</attachid>
            <date>2024-01-22 10:05:22 -0800</date>
            <delta_ts>2024-01-22 16:43:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-267786-20240122100522.patch</filename>
            <type>text/plain</type>
            <size>10287</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">RnJvbSAwZTY2ZTk0ZmZmZTA2YzllMmM1ZDEwZDNkNDc3NzVlYTA3YTc1Njk4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUeWxlciBXaWxjb2NrIDx0eWxlcl93QGFwcGxlLmNvbT4KRGF0
ZTogRnJpLCAxOSBKYW4gMjAyNCAxNDoyNTo1NiAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIEFYOiBJ
c29sYXRlZCBvYmplY3QgY2FuIGJlIGRldGFjaGVkIGluIHRoZSBtaWRzdCBvZiBzZXJ2aW5nCiBB
WENoaWxkcmVuLCBjYXVzaW5nIG51bGxwdHIgZGVyZWZlcmVuY2UKIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjc3ODYgcmRhcjovL3Byb2JsZW0vMTIxMjgyNjQ4CgpS
ZXZpZXdlZCBieSBDaHJpcyBGbGVpemFjaC4KClRoZSBmb2xsb3dpbmcgc2VxdWVuY2UgaXMgcG9z
c2libGU6CgogIDEuIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZSBiZWdpbnMsIHdlIHByb3Rl
Y3QgdGhlIGluaXRpYWwgYmFja2luZ09iamVjdCB3aXRoIGEgUmVmUHRyCiAgMi4gV2Ugc3RhcnQg
aGFuZGxpbmcgdGhlIEFYQ2hpbGRyZW4gYnJhbmNoCiAgMy4gV2UgY2FsbCBjaGlsZHJlblZlY3Rv
clNpemUgaW4gdGhlIG1pZGRsZSBvZiBkb2luZyBzbwogIDQuIFRoaXMgY2FsbHMgc2VsZi5heEJh
Y2tpbmdPYmplY3QtPmNoaWxkcmVuKCksIHdoaWNoIGluIHR1cm4gY2FsbHMgQVhJc29sYXRlZE9i
amVjdDo6dXBkYXRlQmFja2luZ1N0b3JlLCBpbiB0dXJuCiAgICAgY2FsbGluZyBBWElzb2xhdGVk
VHJlZTo6YXBwbHlQZW5kaW5nQ2hhbmdlcwogIDUuIEZvciBzb21lIHJlYXNvbiwgZWl0aGVyIHNl
bGYuYXhCYWNraW5nT2JqZWN0IG9yIGl0cyBhbmNlc3RvciBpcyBpbiBtX3BlbmRpbmdTdWJ0cmVl
UmVtb3ZhbHMsIGNhdXNpbmcgdGhlIHdyYXBwZXIKICAgICB0byBkZXRhY2ggaXRzIG1faXNvbGF0
ZWRPYmplY3QKICA2LiBXZSBqdW1wIGJhY2sgb3V0IHRvIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVW
YWx1ZSwgYW5kIHRyeSB0byByZXR1cm4gc2VsZi5jaGlsZHJlblZlY3RvckFycmF5IGF0IHRoZSB2
ZXJ5IGVuZC4gQnV0CiAgICAgb3VyIHNlbGYuYXhCYWNraW5nT2JqZWN0IGlzIG51bGxwdHIgbm93
LCBhbmQgd2UgZGVyZWZlcmVuY2UgaXQgd2l0aG91dCBjaGVja2luZyBmb3IgbnVsbHB0ciwgYW5k
IGNyYXNoCgpXZSBjYW4gZml4IHRoaXMgYnkgdXNpbmcgdGhlIFJlZlB0ciBwcm90ZWN0ZWQgYGJh
Y2tpbmdPYmplY3RgIHdlIGhhdmUgYXQgdGhlIHRvcCBvZiBldmVyeSBtZXRob2QgcmF0aGVyIHRo
YW4gdGhlCmJhY2tpbmcgb2JqZWN0IGFzc29jaWF0ZWQgd2l0aCB0aGUgd3JhcHBlciwgd2hpY2gg
Y2FuIGJlY29tZSBkZXRhY2hlZC4gVGhpcyBwYXRjaCBhZGRyZXNzZXMgc29tZSwgYnV0IG5vdCBh
bGwKb2Ygc2VsZi5heEJhY2tpbmdPYmplY3QgZGVyZWZlcmVuY2VzIChvdmVyYWxsIGFkZHJlc3Np
bmcgdGhlIGRlcmVmZXJlbmNlIGZvciB0aGlzIHNwZWNpZmljIGNyYXNoLCBhbmQgb3RoZXJzIHRv
bykuCgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVyTWFjLm1tOgooc2NyZWVuVG9Db250ZW50cyk6CihzY3JvbGxWaWV3UGFyZW50
KToKKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgYWNjZXNzaWJpbGl0eUF0dHJpYnV0
ZVZhbHVlOl0pOgooLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBhY2Nlc3NpYmlsaXR5
QXR0cmlidXRlVmFsdWU6Zm9yUGFyYW1ldGVyOl0pOgooLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlciBhY2Nlc3NpYmlsaXR5QXJyYXlBdHRyaWJ1dGVDb3VudDpdKToKKC1bV2ViQWNjZXNz
aWJpbGl0eU9iamVjdFdyYXBwZXIgYWNjZXNzaWJpbGl0eUFycmF5QXR0cmlidXRlVmFsdWVzOmlu
ZGV4Om1heENvdW50Ol0pOgooLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBzY3JlZW5U
b0NvbnRlbnRzOl0pOiBEZWxldGVkLgooLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBj
aGlsZHJlblZlY3RvclNpemVdKTogRGVsZXRlZC4KKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdy
YXBwZXIgY2hpbGRyZW5WZWN0b3JBcnJheV0pOiBEZWxldGVkLgooLVtXZWJBY2Nlc3NpYmlsaXR5
T2JqZWN0V3JhcHBlciBfY29tcHV0ZWRSb2xlU3RyaW5nXSk6IERlbGV0ZWQuCigtW1dlYkFjY2Vz
c2liaWxpdHlPYmplY3RXcmFwcGVyIHNjcm9sbFZpZXdQYXJlbnRdKTogRGVsZXRlZC4KLS0tCiAu
Li4vbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tICAgfCA3OSArKysrKysr
LS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgNTAgZGVsZXRp
b25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2Vi
QWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbQppbmRleCBiOTk1
MDE5M2Y5NGYuLmE0OTQxY2Q0MjM3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXJNYWMubW0KQEAgLTUzMiwxOCArNTMyLDE1IEBAIHN0YXRpYyBpbmxpbmUgQk9PTCBBWE9iamVj
dElzVGV4dE1hcmtlclJhbmdlKGlkIG9iamVjdCkKIAogI3ByYWdtYSBtYXJrIE90aGVyIGhlbHBl
cnMKIAotLSAoSW50UmVjdClzY3JlZW5Ub0NvbnRlbnRzOihjb25zdCBJbnRSZWN0JilyZWN0Citz
dGF0aWMgSW50UmVjdCBzY3JlZW5Ub0NvbnRlbnRzKEFYQ29yZU9iamVjdCYgYXhPYmplY3QsIElu
dFJlY3QmJiByZWN0KQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAKLSAgICBEb2N1
bWVudCogZG9jdW1lbnQgPSBzZWxmLmF4QmFja2luZ09iamVjdC0+ZG9jdW1lbnQoKTsKLSAgICBp
ZiAoIWRvY3VtZW50KQotICAgICAgICByZXR1cm4gSW50UmVjdCgpOwotICAgIAotICAgIGF1dG8q
IGZyYW1lVmlldyA9IGRvY3VtZW50LT52aWV3KCk7CisgICAgYXV0byogZG9jdW1lbnQgPSBheE9i
amVjdC5kb2N1bWVudCgpOworICAgIGF1dG8qIGZyYW1lVmlldyA9IGRvY3VtZW50ID8gZG9jdW1l
bnQtPnZpZXcoKSA6IG51bGxwdHI7CiAgICAgaWYgKCFmcmFtZVZpZXcpCi0gICAgICAgIHJldHVy
biBJbnRSZWN0KCk7Ci0gICAgCisgICAgICAgIHJldHVybiB7IH07CisKICAgICBJbnRQb2ludCBz
dGFydFBvaW50ID0gZnJhbWVWaWV3LT5zY3JlZW5Ub0NvbnRlbnRzKHJlY3QubWluWE1heFlDb3Ju
ZXIoKSk7CiAgICAgSW50UG9pbnQgZW5kUG9pbnQgPSBmcmFtZVZpZXctPnNjcmVlblRvQ29udGVu
dHMocmVjdC5tYXhYTWluWUNvcm5lcigpKTsKICAgICByZXR1cm4gSW50UmVjdChzdGFydFBvaW50
LngoKSwgc3RhcnRQb2ludC55KCksIGVuZFBvaW50LngoKSAtIHN0YXJ0UG9pbnQueCgpLCBlbmRQ
b2ludC55KCkgLSBzdGFydFBvaW50LnkoKSk7CkBAIC0xMzY2LDE2ICsxMzYzLDYgQEAgLSAoTlNC
ZXppZXJQYXRoICopcGF0aAogICAgIHJldHVybiBbc2VsZiBiZXppZXJQYXRoRnJvbVBhdGg6dHJh
bnNmb3JtZWRQYXRoXTsKIH0KIAotLSAoc2l6ZV90KWNoaWxkcmVuVmVjdG9yU2l6ZQotewotICAg
IHJldHVybiBzZWxmLmF4QmFja2luZ09iamVjdC0+Y2hpbGRyZW4oKS5zaXplKCk7Ci19Ci0KLS0g
KE5TQXJyYXk8V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgKj4gKiljaGlsZHJlblZlY3Rv
ckFycmF5Ci17Ci0gICAgcmV0dXJuIG1ha2VOU0FycmF5KHNlbGYuYXhCYWNraW5nT2JqZWN0LT5j
aGlsZHJlbigpKTsKLX0KLQogLSAoTlNTdHJpbmcqKXJvbGUKIHsKIEFMTE9XX0RFUFJFQ0FURURf
REVDTEFSQVRJT05TX0JFR0lOCkBAIC0xNDU3LDI4ICsxNDQ0LDIwIEBAIEFMTE9XX0RFUFJFQ0FU
RURfREVDTEFSQVRJT05TX0VORAogICAgIHJldHVybiBOU0FjY2Vzc2liaWxpdHlSb2xlRGVzY3Jp
cHRpb24oTlNBY2Nlc3NpYmlsaXR5VW5rbm93blJvbGUsIG5pbCk7CiB9CiAKLS0gKE5TU3RyaW5n
ICopX2NvbXB1dGVkUm9sZVN0cmluZworc3RhdGljIGlkIHNjcm9sbFZpZXdQYXJlbnQoQVhDb3Jl
T2JqZWN0JiBheE9iamVjdCkKIHsKLSAgICBpZiAoIXNlbGYuYXhCYWNraW5nT2JqZWN0KQotICAg
ICAgICByZXR1cm4gbmlsOwotICAgIHJldHVybiBzZWxmLmF4QmFja2luZ09iamVjdC0+Y29tcHV0
ZWRSb2xlU3RyaW5nKCk7Ci19Ci0KLS0gKGlkKXNjcm9sbFZpZXdQYXJlbnQKLXsKLSAgICBhdXRv
KiBiYWNraW5nT2JqZWN0ID0gc2VsZi5heEJhY2tpbmdPYmplY3Q7Ci0gICAgaWYgKCFiYWNraW5n
T2JqZWN0IHx8ICFiYWNraW5nT2JqZWN0LT5pc1Njcm9sbFZpZXcoKSkKKyAgICBpZiAoIWF4T2Jq
ZWN0LmlzU2Nyb2xsVmlldygpKQogICAgICAgICByZXR1cm4gbmlsOwogCiAgICAgLy8gSWYgdGhp
cyBzY3JvbGwgdmlldyBwcm92aWRlcyBpdCdzIHBhcmVudCBvYmplY3QgKGJlY2F1c2UgaXQncyBh
IHN1Yi1mcmFtZSksIHRoZW4KICAgICAvLyB3ZSBzaG91bGQgbm90IGZpbmQgdGhlIHJlbW90ZUFj
Y2Vzc2liaWxpdHlQYXJlbnQuCi0gICAgaWYgKGJhY2tpbmdPYmplY3QtPnBhcmVudE9iamVjdCgp
KQorICAgIGlmIChheE9iamVjdC5wYXJlbnRPYmplY3QoKSkKICAgICAgICAgcmV0dXJuIG5pbDsK
IAotICAgIGlmIChhdXRvIHBsYXRmb3JtV2lkZ2V0ID0gYmFja2luZ09iamVjdC0+cGxhdGZvcm1X
aWRnZXQoKSkKKyAgICBpZiAoYXV0byBwbGF0Zm9ybVdpZGdldCA9IGF4T2JqZWN0LnBsYXRmb3Jt
V2lkZ2V0KCkpCiAgICAgICAgIHJldHVybiBOU0FjY2Vzc2liaWxpdHlVbmlnbm9yZWRBbmNlc3Rv
cihwbGF0Zm9ybVdpZGdldCk7CiAKLSAgICByZXR1cm4gYmFja2luZ09iamVjdC0+cmVtb3RlUGFy
ZW50T2JqZWN0KCk7CisgICAgcmV0dXJuIGF4T2JqZWN0LnJlbW90ZVBhcmVudE9iamVjdCgpOwog
fQogCiAtIChpZCl3aW5kb3dFbGVtZW50OihOU1N0cmluZyAqKWF0dHJpYnV0ZU5hbWUKQEAgLTE1
MjUsMTMgKzE1MDQsMTIgQEAgQUxMT1dfREVQUkVDQVRFRF9JTVBMRU1FTlRBVElPTlNfRU5ECiAK
ICAgICAvLyBBWEFSSUFSb2xlIGlzIG9ubHkgdXNlZCBieSBEdW1wUmVuZGVyVHJlZSAoc28gZmFy
KS4KICAgICBpZiAoW2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOkAiQVhBUklBUm9sZSJd
KQotICAgICAgICByZXR1cm4gW3NlbGYgX2NvbXB1dGVkUm9sZVN0cmluZ107CisgICAgICAgIHJl
dHVybiBiYWNraW5nT2JqZWN0LT5jb21wdXRlZFJvbGVTdHJpbmcoKTsKIAogICAgIGlmIChbYXR0
cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6IE5TQWNjZXNzaWJpbGl0eVBhcmVudEF0dHJpYnV0
ZV0pIHsKICAgICAgICAgLy8gVGhpcyB3aWxsIHJldHVybiB0aGUgcGFyZW50IG9mIHRoZSBBWFdl
YkFyZWEsIGlmIHRoaXMgaXMgYSB3ZWIgYXJlYS4KLSAgICAgICAgaWQgc2Nyb2xsVmlld1BhcmVu
dCA9IFtzZWxmIHNjcm9sbFZpZXdQYXJlbnRdOwotICAgICAgICBpZiAoc2Nyb2xsVmlld1BhcmVu
dCkKLSAgICAgICAgICAgIHJldHVybiBzY3JvbGxWaWV3UGFyZW50OworICAgICAgICBpZiAoaWQg
c2Nyb2xsVmlldyA9IHNjcm9sbFZpZXdQYXJlbnQoKmJhY2tpbmdPYmplY3QpKQorICAgICAgICAg
ICAgcmV0dXJuIHNjcm9sbFZpZXc7CiAKICAgICAgICAgLy8gVHJlZSBpdGVtIChjaGFuZ2VkIHRv
IEFYUm93cykgY2FuIG9ubHkgcmVwb3J0IHRoZSB0cmVlIChBWE91dGxpbmUpIGFzIGl0cyBwYXJl
bnQuCiAgICAgICAgIGlmIChiYWNraW5nT2JqZWN0LT5pc1RyZWVJdGVtKCkpIHsKQEAgLTE1Njcs
OSArMTU0NSwxMCBAQCBBTExPV19ERVBSRUNBVEVEX0lNUExFTUVOVEFUSU9OU19FTkQKICAgICAg
ICAgfQogI2VuZGlmCiAKLSAgICAgICAgaWYgKCFzZWxmLmNoaWxkcmVuVmVjdG9yU2l6ZSkgewot
ICAgICAgICAgICAgaWYgKE5TQXJyYXkgKmNoaWxkcmVuID0gW3NlbGYgcmVuZGVyV2lkZ2V0Q2hp
bGRyZW5dKQotICAgICAgICAgICAgICAgIHJldHVybiBjaGlsZHJlbjsKKyAgICAgICAgY29uc3Qg
YXV0byYgY2hpbGRyZW4gPSBiYWNraW5nT2JqZWN0LT5jaGlsZHJlbigpOworICAgICAgICBpZiAo
Y2hpbGRyZW4uaXNFbXB0eSgpKSB7CisgICAgICAgICAgICBpZiAoTlNBcnJheSAqd2lkZ2V0Q2hp
bGRyZW4gPSBbc2VsZiByZW5kZXJXaWRnZXRDaGlsZHJlbl0pCisgICAgICAgICAgICAgICAgcmV0
dXJuIHdpZGdldENoaWxkcmVuOwogICAgICAgICB9CiAKICAgICAgICAgLy8gVGhlIHRyZWUncyAo
QVhPdXRsaW5lKSBjaGlsZHJlbiBhcmUgc3VwcG9zZWQgdG8gYmUgaXRzIHJvd3MgYW5kIGNvbHVt
bnMuCkBAIC0xNTgxLDcgKzE1NjAsNyBAQCBBTExPV19ERVBSRUNBVEVEX0lNUExFTUVOVEFUSU9O
U19FTkQKICAgICAgICAgaWYgKGJhY2tpbmdPYmplY3QtPmlzVHJlZUl0ZW0oKSkKICAgICAgICAg
ICAgIHJldHVybiBtYWtlTlNBcnJheShiYWNraW5nT2JqZWN0LT5hcmlhVHJlZUl0ZW1Db250ZW50
KCkpOwogCi0gICAgICAgIHJldHVybiBzZWxmLmNoaWxkcmVuVmVjdG9yQXJyYXk7CisgICAgICAg
IHJldHVybiBtYWtlTlNBcnJheShjaGlsZHJlbik7CiAgICAgfQogCiAgICAgaWYgKFthdHRyaWJ1
dGVOYW1lIGlzRXF1YWxUb1N0cmluZzogTlNBY2Nlc3NpYmlsaXR5U2VsZWN0ZWRDaGlsZHJlbkF0
dHJpYnV0ZV0pIHsKQEAgLTMxOTksMzUgKzMxNzgsMzUgQEAgQUxMT1dfREVQUkVDQVRFRF9JTVBM
RU1FTlRBVElPTlNfRU5ECiAKICAgICBpZiAoW2F0dHJpYnV0ZSBpc0VxdWFsVG9TdHJpbmc6QVhF
bmRUZXh0TWFya2VyRm9yQm91bmRzQXR0cmlidXRlXSkgewogICAgICAgICByZXR1cm4gQWNjZXNz
aWJpbGl0eTo6cmV0cmlldmVBdXRvcmVsZWFzZWRWYWx1ZUZyb21NYWluVGhyZWFkPGlkPihbJnJl
Y3QsIHByb3RlY3RlZFNlbGYgPSByZXRhaW5QdHIoc2VsZildICgpIC0+IFJldGFpblB0cjxpZD4g
ewotICAgICAgICAgICAgYXV0byogYmFja2luZ09iamVjdCA9IHByb3RlY3RlZFNlbGYuZ2V0KCku
YXhCYWNraW5nT2JqZWN0OworICAgICAgICAgICAgUmVmUHRyPEFYQ29yZU9iamVjdD4gYmFja2lu
Z09iamVjdCA9IHByb3RlY3RlZFNlbGYuZ2V0KCkuYXhCYWNraW5nT2JqZWN0OwogICAgICAgICAg
ICAgaWYgKCFiYWNraW5nT2JqZWN0KQogICAgICAgICAgICAgICAgIHJldHVybiBuaWw7CiAKLSAg
ICAgICAgICAgIGF1dG8qIGNhY2hlID0gYmFja2luZ09iamVjdC0+YXhPYmplY3RDYWNoZSgpOwor
ICAgICAgICAgICAgV2Vha1B0ciBjYWNoZSA9IGJhY2tpbmdPYmplY3QtPmF4T2JqZWN0Q2FjaGUo
KTsKICAgICAgICAgICAgIGlmICghY2FjaGUpCiAgICAgICAgICAgICAgICAgcmV0dXJuIG5pbDsK
IAotICAgICAgICAgICAgSW50UmVjdCB3ZWJDb3JlUmVjdCA9IFtwcm90ZWN0ZWRTZWxmIHNjcmVl
blRvQ29udGVudHM6ZW5jbG9zaW5nSW50UmVjdChyZWN0KV07CisgICAgICAgICAgICBJbnRSZWN0
IHdlYkNvcmVSZWN0ID0gc2NyZWVuVG9Db250ZW50cygqYmFja2luZ09iamVjdCwgZW5jbG9zaW5n
SW50UmVjdChyZWN0KSk7CiAgICAgICAgICAgICBDaGFyYWN0ZXJPZmZzZXQgY2hhcmFjdGVyT2Zm
c2V0ID0gY2FjaGUtPmNoYXJhY3Rlck9mZnNldEZvckJvdW5kcyh3ZWJDb3JlUmVjdCwgZmFsc2Up
OwogCi0gICAgICAgICAgICByZXR1cm4gKGlkKXRleHRNYXJrZXJGb3JDaGFyYWN0ZXJPZmZzZXQo
Y2FjaGUsIGNoYXJhY3Rlck9mZnNldCk7CisgICAgICAgICAgICByZXR1cm4gKGlkKXRleHRNYXJr
ZXJGb3JDaGFyYWN0ZXJPZmZzZXQoY2FjaGUuZ2V0KCksIGNoYXJhY3Rlck9mZnNldCk7CiAgICAg
ICAgIH0pOwogICAgIH0KIAogICAgIGlmIChbYXR0cmlidXRlIGlzRXF1YWxUb1N0cmluZzpBWFN0
YXJ0VGV4dE1hcmtlckZvckJvdW5kc0F0dHJpYnV0ZV0pIHsKICAgICAgICAgcmV0dXJuIEFjY2Vz
c2liaWxpdHk6OnJldHJpZXZlQXV0b3JlbGVhc2VkVmFsdWVGcm9tTWFpblRocmVhZDxpZD4oWyZy
ZWN0LCBwcm90ZWN0ZWRTZWxmID0gcmV0YWluUHRyKHNlbGYpXSAoKSAtPiBSZXRhaW5QdHI8aWQ+
IHsKLSAgICAgICAgICAgIGF1dG8qIGJhY2tpbmdPYmplY3QgPSBwcm90ZWN0ZWRTZWxmLmdldCgp
LmF4QmFja2luZ09iamVjdDsKKyAgICAgICAgICAgIFJlZlB0cjxBWENvcmVPYmplY3Q+IGJhY2tp
bmdPYmplY3QgPSBwcm90ZWN0ZWRTZWxmLmdldCgpLmF4QmFja2luZ09iamVjdDsKICAgICAgICAg
ICAgIGlmICghYmFja2luZ09iamVjdCkKICAgICAgICAgICAgICAgICByZXR1cm4gbmlsOwogCi0g
ICAgICAgICAgICBhdXRvKiBjYWNoZSA9IGJhY2tpbmdPYmplY3QtPmF4T2JqZWN0Q2FjaGUoKTsK
KyAgICAgICAgICAgIFdlYWtQdHIgY2FjaGUgPSBiYWNraW5nT2JqZWN0LT5heE9iamVjdENhY2hl
KCk7CiAgICAgICAgICAgICBpZiAoIWNhY2hlKQogICAgICAgICAgICAgICAgIHJldHVybiBuaWw7
CiAKLSAgICAgICAgICAgIEludFJlY3Qgd2ViQ29yZVJlY3QgPSBbcHJvdGVjdGVkU2VsZiBzY3Jl
ZW5Ub0NvbnRlbnRzOmVuY2xvc2luZ0ludFJlY3QocmVjdCldOworICAgICAgICAgICAgSW50UmVj
dCB3ZWJDb3JlUmVjdCA9IHNjcmVlblRvQ29udGVudHMoKmJhY2tpbmdPYmplY3QsIGVuY2xvc2lu
Z0ludFJlY3QocmVjdCkpOwogICAgICAgICAgICAgQ2hhcmFjdGVyT2Zmc2V0IGNoYXJhY3Rlck9m
ZnNldCA9IGNhY2hlLT5jaGFyYWN0ZXJPZmZzZXRGb3JCb3VuZHMod2ViQ29yZVJlY3QsIHRydWUp
OwogCi0gICAgICAgICAgICByZXR1cm4gKGlkKXRleHRNYXJrZXJGb3JDaGFyYWN0ZXJPZmZzZXQo
Y2FjaGUsIGNoYXJhY3Rlck9mZnNldCk7CisgICAgICAgICAgICByZXR1cm4gKGlkKXRleHRNYXJr
ZXJGb3JDaGFyYWN0ZXJPZmZzZXQoY2FjaGUuZ2V0KCksIGNoYXJhY3Rlck9mZnNldCk7CiAgICAg
ICAgIH0pOwogICAgIH0KIApAQCAtMzczMiw3ICszNzExLDcgQEAgLSAoTlNVSW50ZWdlcilhY2Nl
c3NpYmlsaXR5QXJyYXlBdHRyaWJ1dGVDb3VudDooTlNTdHJpbmcgKilhdHRyaWJ1dGUKICAgICAg
ICAgaWYgKGJhY2tpbmdPYmplY3QtPmlzVHJlZSgpIHx8IGJhY2tpbmdPYmplY3QtPmlzVHJlZUl0
ZW0oKSkKICAgICAgICAgICAgIHJldHVybiBbW3NlbGYgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZh
bHVlOk5TQWNjZXNzaWJpbGl0eUNoaWxkcmVuQXR0cmlidXRlXSBjb3VudF07CiAKLSAgICAgICAg
YXV0byBjaGlsZHJlblNpemUgPSBzZWxmLmNoaWxkcmVuVmVjdG9yU2l6ZTsKKyAgICAgICAgYXV0
byBjaGlsZHJlblNpemUgPSBiYWNraW5nT2JqZWN0LT5jaGlsZHJlbigpLnNpemUoKTsKICAgICAg
ICAgaWYgKCFjaGlsZHJlblNpemUpIHsKICNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKICAgICAg
ICAgICAgIGlmIChiYWNraW5nT2JqZWN0LT5pc01vZGVsKCkpCkBAIC0zNzY0LDcgKzM3NDMsNyBA
QCAtIChOU0FycmF5ICopYWNjZXNzaWJpbGl0eUFycmF5QXR0cmlidXRlVmFsdWVzOihOU1N0cmlu
ZyAqKWF0dHJpYnV0ZSBpbmRleDooTlNVSQogICAgICAgICByZXR1cm4gbmlsOwogCiAgICAgaWYg
KFthdHRyaWJ1dGUgaXNFcXVhbFRvU3RyaW5nOk5TQWNjZXNzaWJpbGl0eUNoaWxkcmVuQXR0cmli
dXRlXSkgewotICAgICAgICBpZiAoIXNlbGYuY2hpbGRyZW5WZWN0b3JTaXplKSB7CisgICAgICAg
IGlmIChiYWNraW5nT2JqZWN0LT5jaGlsZHJlbigpLmlzRW1wdHkoKSkgewogICAgICAgICAgICAg
TlNBcnJheSAqY2hpbGRyZW4gPSBuaWw7CiAjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCiAgICAg
ICAgICAgICBpZiAoYmFja2luZ09iamVjdC0+aXNNb2RlbCgpKSB7CkBAIC0zNzkyLDcgKzM3NzEs
NyBAQCAtIChOU0FycmF5ICopYWNjZXNzaWJpbGl0eUFycmF5QXR0cmlidXRlVmFsdWVzOihOU1N0
cmluZyAqKWF0dHJpYnV0ZSBpbmRleDooTlNVSQogICAgICAgICAgICAgcmV0dXJuIFtzdXBlciBh
Y2Nlc3NpYmlsaXR5QXJyYXlBdHRyaWJ1dGVWYWx1ZXM6YXR0cmlidXRlIGluZGV4OmluZGV4IG1h
eENvdW50Om1heENvdW50XTsKICAgICAgICAgfQogCi0gICAgICAgIGF1dG8gY2hpbGRyZW4gPSBz
ZWxmLmNoaWxkcmVuVmVjdG9yQXJyYXk7CisgICAgICAgIGF1dG8gY2hpbGRyZW4gPSBtYWtlTlNB
cnJheShiYWNraW5nT2JqZWN0LT5jaGlsZHJlbigpKTsKICAgICAgICAgdW5zaWduZWQgY2hpbGRD
b3VudCA9IFtjaGlsZHJlbiBjb3VudF07CiAgICAgICAgIGlmIChpbmRleCA+PSBjaGlsZENvdW50
KQogICAgICAgICAgICAgcmV0dXJuIG5pbDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>