<?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>226622</bug_id>
          
          <creation_ts>2021-06-03 21:01:11 -0700</creation_ts>
          <short_desc>Use references in font loading code instead of pointers which can never be null</short_desc>
          <delta_ts>2021-06-04 09:35:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>cdumez</cc>
    
    <cc>clord</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1766656</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-06-03 21:01:11 -0700</bug_when>
    <thetext>Use references instead of pointers which can never be null</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766667</commentid>
    <comment_count>1</comment_count>
      <attachid>430539</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-06-03 22:17:10 -0700</bug_when>
    <thetext>Created attachment 430539
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766672</commentid>
    <comment_count>2</comment_count>
      <attachid>430539</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-06-03 22:57:02 -0700</bug_when>
    <thetext>Comment on attachment 430539
Patch

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

&gt; Source/WebCore/css/CSSFontFaceSet.cpp:121
&gt; +        Ref&lt;CSSFontFace&gt; face = CSSFontFace::create(*m_owningFontSelector.get(), nullptr, nullptr, true);

.get() should not be needed.

&gt; Source/WebCore/css/FontFaceSet.cpp:169
&gt; +    ASSERT(scriptExecutionContext);

I don&apos;t see how this is safe. FontFaceSet is an ActiveDOMObject and an ActiveDOMObject&apos;s scriptExecutionContext can definitely become null. I would imagine it is able to hit the assertion by:
1. Having the top frame get a FontFaceSet from a subframe
2. Remove that subframe from the document
3. Have the top frame call load() on that FontFaceSet</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766678</commentid>
    <comment_count>3</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-06-03 23:07:43 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #2)
&gt; Comment on attachment 430539 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=430539&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/css/FontFaceSet.cpp:169
&gt; &gt; +    ASSERT(scriptExecutionContext);
&gt; 
&gt; I don&apos;t see how this is safe. FontFaceSet is an ActiveDOMObject and an
&gt; ActiveDOMObject&apos;s scriptExecutionContext can definitely become null. I would
&gt; imagine it is able to hit the assertion by:
&gt; 1. Having the top frame get a FontFaceSet from a subframe
&gt; 2. Remove that subframe from the document
&gt; 3. Have the top frame call load() on that FontFaceSet

Aha! You&apos;re right. When I was reading ContextDestructionObserver I missed the implementation of the contextDestroyed() function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766680</commentid>
    <comment_count>4</comment_count>
      <attachid>430547</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-06-03 23:12:18 -0700</bug_when>
    <thetext>Created attachment 430547
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766681</commentid>
    <comment_count>5</comment_count>
      <attachid>430548</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-06-03 23:13:02 -0700</bug_when>
    <thetext>Created attachment 430548
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766683</commentid>
    <comment_count>6</comment_count>
      <attachid>430548</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-06-03 23:15:50 -0700</bug_when>
    <thetext>Comment on attachment 430548
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766805</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-04 09:34:22 -0700</bug_when>
    <thetext>Committed r278466 (238486@main): &lt;https://commits.webkit.org/238486@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 430548.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766807</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-04 09:35:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/78872787&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430539</attachid>
            <date>2021-06-03 22:17:10 -0700</date>
            <delta_ts>2021-06-03 23:12:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226622-20210603221709.patch</filename>
            <type>text/plain</type>
            <size>9940</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4Mzc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjg0ZTYxZjk0N2Q0NWQ4
ZTk4YmViYzJjZWNjOWQ1MmQ5NzliMjE5Yy4uYTAzZWYyOGJhNjlmYWVmNjE5YzE1NTllZDM1NWQy
MzAxNmQ1MGQ4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIxLTA2LTAzICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgVXNlIHJlZmVy
ZW5jZXMgaW4gZm9udCBsb2FkaW5nIGNvZGUgaW5zdGVhZCBvZiBwb2ludGVycyB3aGljaCBjYW4g
bmV2ZXIgYmUgbnVsbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjI2NjIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQ1NTRm9udEZhY2U6OmNyZWF0ZSgpJ3MgQ1NTRm9udFNlbGVjdG9yIGNhbiBuZXZlciBi
ZSBudWxsLiBUaGlzIGlzIGNsZWFyIGZyb20KKyAgICAgICAgb2JzZXJ2YXRpb24gb2YgYWxsIDMg
Y2FsbCBzaXRlcy4KKworICAgICAgICBGb250RmFjZTo6Y3JlYXRlKCkncyBTY3JpcHRFeGVjdXRp
b25Db250ZXh0IGNhbiBuZXZlciBiZSBudWxsIGJlY2F1c2UgRm9udEZhY2VTZXQncworICAgICAg
ICBzY3JpcHRFeGVjdXRpb25Db250ZXh0IGNhbiBuZXZlciBiZSBudWxsLiBJdCBnZXRzIHNldCBp
biB0aGUgY29uc3RydWN0b3Igd2l0aCBhIHJlZmVyZW5jZSwKKyAgICAgICAgYW5kIHRoZW4gaXMg
bmV2ZXIgbW9kaWZpZWQgdGhyb3VnaG91dCB0aGUgbGlmZXRpbWUgb2YgdGhlIEZvbnRGYWNlU2V0
LiBvYnNlcnZlQ29udGV4dCgpCisgICAgICAgIGlzIG5ldmVyIGNhbGxlZCBvbiBhIEZvbnRGYWNl
U2V0LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRoZXJlIGlzIG5vIGJlaGF2aW9y
IGNoYW5nZS4KKworICAgICAgICAqIGNzcy9DU1NGb250RmFjZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDU1NGb250RmFjZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRGYWNl
Ojp3cmFwcGVyKToKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2UuaDoKKyAgICAgICAgKiBjc3Mv
Q1NTRm9udEZhY2VTZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udEZhY2VTZXQ6OmVu
c3VyZUxvY2FsRm9udEZhY2VzRm9yRmFtaWx5UmVnaXN0ZXJlZCk6CisgICAgICAgICogY3NzL0NT
U0ZvbnRTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250U2VsZWN0b3I6OmFk
ZEZvbnRGYWNlUnVsZSk6CisgICAgICAgICogY3NzL0ZvbnRGYWNlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkZvbnRGYWNlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udEZhY2U6OkZv
bnRGYWNlKToKKyAgICAgICAgKiBjc3MvRm9udEZhY2UuaDoKKyAgICAgICAgKiBjc3MvRm9udEZh
Y2VTZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udEZhY2VTZXQ6Okl0ZXJhdG9yOjpuZXh0
KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRGYWNlU2V0Ojpsb2FkKToKKwogMjAyMS0wNi0wMiAg
QWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgSW5jb3JyZWN0IHNlbGVj
dGlvbiB3aGVuIHRhbGwgZmxvYXQgaXMgcHJlc2VudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0ZvbnRGYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5j
cHAKaW5kZXggZTUyZjdmODI2ODRiZWI4YTU5Nzg2MmUzYzc5MTg2ZmFhYTNkNjc1Mi4uOTc3ZDk4
NTBiNGVlMjU5MGQ0ODllNmRiODNjN2FmZmM2N2Q5Y2NmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9u
dEZhY2UuY3BwCkBAIC05MCwxMyArOTAsMTIgQEAgdm9pZCBDU1NGb250RmFjZTo6YXBwZW5kU291
cmNlcyhDU1NGb250RmFjZSYgZm9udEZhY2UsIENTU1ZhbHVlTGlzdCYgc3JjTGlzdCwgU2MKICAg
ICBmb250RmFjZS5zb3VyY2VzUG9wdWxhdGVkKCk7CiB9CiAKLVJlZjxDU1NGb250RmFjZT4gQ1NT
Rm9udEZhY2U6OmNyZWF0ZShDU1NGb250U2VsZWN0b3IqIGZvbnRTZWxlY3RvciwgU3R5bGVSdWxl
Rm9udEZhY2UqIGNzc0Nvbm5lY3Rpb24sIEZvbnRGYWNlKiB3cmFwcGVyLCBib29sIGlzTG9jYWxG
YWxsYmFjaykKK1JlZjxDU1NGb250RmFjZT4gQ1NTRm9udEZhY2U6OmNyZWF0ZShDU1NGb250U2Vs
ZWN0b3ImIGZvbnRTZWxlY3RvciwgU3R5bGVSdWxlRm9udEZhY2UqIGNzc0Nvbm5lY3Rpb24sIEZv
bnRGYWNlKiB3cmFwcGVyLCBib29sIGlzTG9jYWxGYWxsYmFjaykKIHsKLSAgICBhdXRvKiBjb250
ZXh0ID0gZm9udFNlbGVjdG9yID8gZm9udFNlbGVjdG9yLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0
KCkgOiBudWxscHRyOworICAgIGF1dG8qIGNvbnRleHQgPSBmb250U2VsZWN0b3Iuc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpOwogICAgIGNvbnN0IGF1dG8qIHNldHRpbmdzID0gY29udGV4dCA/ICZj
b250ZXh0LT5zZXR0aW5nc1ZhbHVlcygpIDogbnVsbHB0cjsKICAgICBhdXRvIHJlc3VsdCA9IGFk
b3B0UmVmKCpuZXcgQ1NTRm9udEZhY2Uoc2V0dGluZ3MsIGNzc0Nvbm5lY3Rpb24sIHdyYXBwZXIs
IGlzTG9jYWxGYWxsYmFjaykpOwotICAgIGlmIChmb250U2VsZWN0b3IpCi0gICAgICAgIHJlc3Vs
dC0+YWRkQ2xpZW50KCpmb250U2VsZWN0b3IpOworICAgIHJlc3VsdC0+YWRkQ2xpZW50KGZvbnRT
ZWxlY3Rvcik7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtNDQ5LDEwICs0NDgsMTAgQEAg
dm9pZCBDU1NGb250RmFjZTo6aW5pdGlhbGl6ZVdyYXBwZXIoKQogICAgIG1fbWF5QmVQdXJnZWQg
PSBmYWxzZTsKIH0KIAotUmVmPEZvbnRGYWNlPiBDU1NGb250RmFjZTo6d3JhcHBlcihTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQorUmVmPEZvbnRGYWNlPiBDU1NGb250RmFjZTo6d3Jh
cHBlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQogewogICAgIGlmIChtX3dyYXBw
ZXIpIHsKLSAgICAgICAgQVNTRVJUKG1fd3JhcHBlci0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
ID09IGNvbnRleHQpOworICAgICAgICBBU1NFUlQobV93cmFwcGVyLT5zY3JpcHRFeGVjdXRpb25D
b250ZXh0KCkgPT0gJmNvbnRleHQpOwogICAgICAgICByZXR1cm4gKm1fd3JhcHBlci5nZXQoKTsK
ICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5oIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmgKaW5kZXggZmYwODgzYTU1ZjBiNTlkNzFi
YTgxMjEwYzFkM2E5MjEwYjNhOTI4Yi4uNWY0MTlmYmE1ZmFjZTQ1YThmOTEyMjgwZGNkNzNiZDU5
YzQ1NzQzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmgKQEAgLTU3LDcgKzU3LDcgQEAgREVD
TEFSRV9BTExPQ0FUT1JfV0lUSF9IRUFQX0lERU5USUZJRVIoQ1NTRm9udEZhY2UpOwogY2xhc3Mg
Q1NTRm9udEZhY2UgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxDU1NGb250RmFjZT4gewogICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEX1dJVEhfSEVBUF9JREVOVElGSUVSKENTU0ZvbnRGYWNl
KTsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPENTU0ZvbnRGYWNlPiBjcmVhdGUoQ1NTRm9udFNl
bGVjdG9yKiwgU3R5bGVSdWxlRm9udEZhY2UqIGNzc0Nvbm5lY3Rpb24gPSBudWxscHRyLCBGb250
RmFjZSogd3JhcHBlciA9IG51bGxwdHIsIGJvb2wgaXNMb2NhbEZhbGxiYWNrID0gZmFsc2UpOwor
ICAgIHN0YXRpYyBSZWY8Q1NTRm9udEZhY2U+IGNyZWF0ZShDU1NGb250U2VsZWN0b3ImLCBTdHls
ZVJ1bGVGb250RmFjZSogY3NzQ29ubmVjdGlvbiA9IG51bGxwdHIsIEZvbnRGYWNlKiB3cmFwcGVy
ID0gbnVsbHB0ciwgYm9vbCBpc0xvY2FsRmFsbGJhY2sgPSBmYWxzZSk7CiAgICAgdmlydHVhbCB+
Q1NTRm9udEZhY2UoKTsKIAogICAgIC8vIEZJWE1FOiBUaGVzZSBmdW5jdGlvbnMgZG9uJ3QgbmVl
ZCB0byBoYXZlIGJvb2xlYW4gcmV0dXJuIHZhbHVlcy4KQEAgLTE0MCw3ICsxNDAsNyBAQCBwdWJs
aWM6CiAgICAgYm9vbCByYW5nZXNNYXRjaENvZGVQb2ludChVQ2hhcjMyKSBjb25zdDsKIAogICAg
IC8vIFdlIGRvbid0IGd1YXJhbnRlZSB0aGF0IHRoZSBGb250RmFjZSB3cmFwcGVyIHdpbGwgYmUg
dGhlIHNhbWUgZXZlcnkgdGltZSB5b3UgYXNrIGZvciBpdC4KLSAgICBSZWY8Rm9udEZhY2U+IHdy
YXBwZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOworICAgIFJlZjxGb250RmFjZT4gd3JhcHBl
cihTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CiAgICAgdm9pZCBzZXRXcmFwcGVyKEZvbnRGYWNl
Jik7CiAgICAgRm9udEZhY2UqIGV4aXN0aW5nV3JhcHBlcigpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ZvbnRGYWNlU2V0LmNwcAppbmRleCA4YWMxMjYwMDRlZWVmNzVhZjkyY2NiMGM3MzhhOGFhNThi
MDRkMDdjLi5iZDM4ZDk3YjJhZDkxNDU5OWNiNzEzZjhkMWI2YjJmMWFiOTQ1ZTk0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTZXQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNldC5jcHAKQEAgLTExOCw3ICsxMTgsNyBAQCB2b2lkIENT
U0ZvbnRGYWNlU2V0OjplbnN1cmVMb2NhbEZvbnRGYWNlc0ZvckZhbWlseVJlZ2lzdGVyZWQoY29u
c3QgU3RyaW5nJiBmYW1pbAogCiAgICAgVmVjdG9yPFJlZjxDU1NGb250RmFjZT4+IGZhY2VzOwog
ICAgIGZvciAoYXV0byBpdGVtIDogY2FwYWJpbGl0aWVzKSB7Ci0gICAgICAgIFJlZjxDU1NGb250
RmFjZT4gZmFjZSA9IENTU0ZvbnRGYWNlOjpjcmVhdGUobV9vd25pbmdGb250U2VsZWN0b3IuZ2V0
KCksIG51bGxwdHIsIG51bGxwdHIsIHRydWUpOworICAgICAgICBSZWY8Q1NTRm9udEZhY2U+IGZh
Y2UgPSBDU1NGb250RmFjZTo6Y3JlYXRlKCptX293bmluZ0ZvbnRTZWxlY3Rvci5nZXQoKSwgbnVs
bHB0ciwgbnVsbHB0ciwgdHJ1ZSk7CiAgICAgICAgIAogICAgICAgICBSZWY8Q1NTVmFsdWVMaXN0
PiBmYW1pbHlMaXN0ID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVDb21tYVNlcGFyYXRlZCgpOwogICAg
ICAgICBmYW1pbHlMaXN0LT5hcHBlbmQobV9vd25pbmdGb250U2VsZWN0b3ItPnNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKS0+Y3NzVmFsdWVQb29sKCkuY3JlYXRlRm9udEZhbWlseVZhbHVlKGZhbWls
eU5hbWUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3Iu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKaW5kZXggOTg2ZTE4
NGNiZWE0NjQzMDU5ZGZmMTQzYmNlNjhiMzhhZWFjODliYi4uY2UwMTZiM2MzNjM3MjAxNTgyYjNh
MWNiZGMyNGU3ZWI3ZTljMmU5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Zv
bnRTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5j
cHAKQEAgLTE5MCw3ICsxOTAsNyBAQCB2b2lkIENTU0ZvbnRTZWxlY3Rvcjo6YWRkRm9udEZhY2VS
dWxlKFN0eWxlUnVsZUZvbnRGYWNlJiBmb250RmFjZVJ1bGUsIGJvb2wgaXNJbgogICAgICAgICBy
ZXR1cm47CiAKICAgICBTZXRGb3JTY29wZTxib29sPiBjcmVhdGluZ0ZvbnQobV9jcmVhdGluZ0Zv
bnQsIHRydWUpOwotICAgIFJlZjxDU1NGb250RmFjZT4gZm9udEZhY2UgPSBDU1NGb250RmFjZTo6
Y3JlYXRlKHRoaXMsICZmb250RmFjZVJ1bGUpOworICAgIFJlZjxDU1NGb250RmFjZT4gZm9udEZh
Y2UgPSBDU1NGb250RmFjZTo6Y3JlYXRlKCp0aGlzLCAmZm9udEZhY2VSdWxlKTsKIAogICAgIGlm
ICghZm9udEZhY2UtPnNldEZhbWlsaWVzKCpmb250RmFtaWx5KSkKICAgICAgICAgcmV0dXJuOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9Gb250RmFjZS5jcHAKaW5kZXggOTk4ZGRlNjU4MzdmNWUzNWNiYWI0MzYyYjI4YTA1
YzIzMTkyOTUyNC4uMGY2N2Y4ZDgyZTc0MWI5NGM5MTNlMjM0OWM1YjkyMTg5MzEwZTMzYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvRm9udEZhY2UuY3BwCkBAIC0xNDIsNyArMTQyLDcgQEAgUmVmPEZvbnRGYWNlPiBG
b250RmFjZTo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IFN0
cmluZyYgZmEKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi1SZWY8Rm9udEZhY2U+IEZvbnRGYWNl
OjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgQ1NTRm9udEZhY2UmIGZh
Y2UpCitSZWY8Rm9udEZhY2U+IEZvbnRGYWNlOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYgY29udGV4dCwgQ1NTRm9udEZhY2UmIGZhY2UpCiB7CiAgICAgYXV0byBmb250RmFjZSA9IGFk
b3B0UmVmKCpuZXcgRm9udEZhY2UoY29udGV4dCwgZmFjZSkpOwogICAgIGZvbnRGYWNlLT5zdXNw
ZW5kSWZOZWVkZWQoKTsKQEAgLTE1MSwxNCArMTUxLDE0IEBAIFJlZjxGb250RmFjZT4gRm9udEZh
Y2U6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBDU1NGb250RmFjZSYg
ZmFjCiAKIEZvbnRGYWNlOjpGb250RmFjZShDU1NGb250U2VsZWN0b3ImIGZvbnRTZWxlY3RvcikK
ICAgICA6IEFjdGl2ZURPTU9iamVjdChmb250U2VsZWN0b3Iuc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpKQotICAgICwgbV9iYWNraW5nKENTU0ZvbnRGYWNlOjpjcmVhdGUoJmZvbnRTZWxlY3Rvciwg
bnVsbHB0ciwgdGhpcykpCisgICAgLCBtX2JhY2tpbmcoQ1NTRm9udEZhY2U6OmNyZWF0ZShmb250
U2VsZWN0b3IsIG51bGxwdHIsIHRoaXMpKQogICAgICwgbV9sb2FkZWRQcm9taXNlKG1ha2VVbmlx
dWVSZWY8TG9hZGVkUHJvbWlzZT4oKnRoaXMsICZGb250RmFjZTo6bG9hZGVkUHJvbWlzZVJlc29s
dmUpKQogewogICAgIG1fYmFja2luZy0+YWRkQ2xpZW50KCp0aGlzKTsKIH0KIAotRm9udEZhY2U6
OkZvbnRGYWNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIENTU0ZvbnRGYWNlJiBm
YWNlKQotICAgIDogQWN0aXZlRE9NT2JqZWN0KGNvbnRleHQpCitGb250RmFjZTo6Rm9udEZhY2Uo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgQ1NTRm9udEZhY2UmIGZhY2UpCisgICAg
OiBBY3RpdmVET01PYmplY3QoJmNvbnRleHQpCiAgICAgLCBtX2JhY2tpbmcoZmFjZSkKICAgICAs
IG1fbG9hZGVkUHJvbWlzZShtYWtlVW5pcXVlUmVmPExvYWRlZFByb21pc2U+KCp0aGlzLCAmRm9u
dEZhY2U6OmxvYWRlZFByb21pc2VSZXNvbHZlKSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9Gb250RmFjZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlLmgKaW5kZXgg
OTc3ZjNhOTlhYzRhMTc2YzA2NjMwZTdjN2QwYWFkZDk1MDFiNWQ1OS4uMDhjYmZjNWQ2Y2RhNzVh
ZDU2NzQ2MGY0NmY0OTNmNTk5NDgyMjc3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0ZvbnRGYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlLmgKQEAgLTU1LDcg
KzU1LDcgQEAgcHVibGljOgogICAgIAogICAgIHVzaW5nIFNvdXJjZSA9IFZhcmlhbnQ8U3RyaW5n
LCBSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlcj4sIFJlZlB0cjxKU0M6OkFycmF5QnVmZmVyVmlldz4+
OwogICAgIHN0YXRpYyBSZWY8Rm9udEZhY2U+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiwgY29uc3QgU3RyaW5nJiBmYW1pbHksIFNvdXJjZSYmLCBjb25zdCBEZXNjcmlwdG9ycyYpOwot
ICAgIHN0YXRpYyBSZWY8Rm9udEZhY2U+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Kiwg
Q1NTRm9udEZhY2UmKTsKKyAgICBzdGF0aWMgUmVmPEZvbnRGYWNlPiBjcmVhdGUoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCYsIENTU0ZvbnRGYWNlJik7CiAgICAgdmlydHVhbCB+Rm9udEZhY2UoKTsK
IAogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldEZhbWlseShTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiwgY29uc3QgU3RyaW5nJik7CkBAIC05Miw3ICs5Miw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToK
ICAgICBleHBsaWNpdCBGb250RmFjZShDU1NGb250U2VsZWN0b3ImKTsKLSAgICBleHBsaWNpdCBG
b250RmFjZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgQ1NTRm9udEZhY2UmKTsKKyAgICBleHBs
aWNpdCBGb250RmFjZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgQ1NTRm9udEZhY2UmKTsKIAog
ICAgIC8vIEFjdGl2ZURPTU9iamVjdC4KICAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3RO
YW1lKCkgY29uc3QgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZh
Y2VTZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlU2V0LmNwcAppbmRleCBhZDg0
NmRmNTk4NzkxOGUwZjk1ZmZlOWQ3OTYwZjcyMWU3MTc2OTM1Li43MzA5NDVhYTNiYWU3ZjQ3OTdm
ZDRlZTY1NWNlZGQwNjc0NWQ1MDc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9u
dEZhY2VTZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZVNldC5jcHAKQEAg
LTk1LDcgKzk1LDkgQEAgUmVmUHRyPEZvbnRGYWNlPiBGb250RmFjZVNldDo6SXRlcmF0b3I6Om5l
eHQoKQogewogICAgIGlmIChtX2luZGV4ID09IG1fdGFyZ2V0LT5zaXplKCkpCiAgICAgICAgIHJl
dHVybiBudWxscHRyOwotICAgIHJldHVybiBtX3RhcmdldC0+YmFja2luZygpW21faW5kZXgrK10u
d3JhcHBlcihtX3RhcmdldC0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKKyAgICBhdXRvKiBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0ID0gbV90YXJnZXQtPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KTsKKyAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCk7CisgICAgcmV0dXJuIG1fdGFy
Z2V0LT5iYWNraW5nKClbbV9pbmRleCsrXS53cmFwcGVyKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0
KTsKIH0KIAogRm9udEZhY2VTZXQ6OlBlbmRpbmdQcm9taXNlOjpQZW5kaW5nUHJvbWlzZShMb2Fk
UHJvbWlzZSYmIHByb21pc2UpCkBAIC0xNjMsOCArMTY1LDExIEBAIHZvaWQgRm9udEZhY2VTZXQ6
OmxvYWQoY29uc3QgU3RyaW5nJiBmb250LCBjb25zdCBTdHJpbmcmIHRleHQsIExvYWRQcm9taXNl
JiYgcHJvCiAgICAgYXV0byBwZW5kaW5nUHJvbWlzZSA9IFBlbmRpbmdQcm9taXNlOjpjcmVhdGUo
V1RGTW92ZShwcm9taXNlKSk7CiAgICAgYm9vbCB3YWl0aW5nID0gZmFsc2U7CiAKKyAgICBhdXRv
KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0ID0gdGhpcy0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
OworICAgIEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0KTsKKwogICAgIGZvciAoYXV0byYg
ZmFjZSA6IG1hdGNoaW5nRmFjZXMpIHsKLSAgICAgICAgcGVuZGluZ1Byb21pc2UtPmZhY2VzLmFw
cGVuZChmYWNlLmdldCgpLndyYXBwZXIoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKSk7CisgICAg
ICAgIHBlbmRpbmdQcm9taXNlLT5mYWNlcy5hcHBlbmQoZmFjZS5nZXQoKS53cmFwcGVyKCpzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KSk7CiAgICAgICAgIGlmIChmYWNlLmdldCgpLnN0YXR1cygpID09
IENTU0ZvbnRGYWNlOjpTdGF0dXM6OlN1Y2Nlc3MpCiAgICAgICAgICAgICBjb250aW51ZTsKICAg
ICAgICAgd2FpdGluZyA9IHRydWU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430547</attachid>
            <date>2021-06-03 23:12:18 -0700</date>
            <delta_ts>2021-06-03 23:12:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226622-20210603231218.patch</filename>
            <type>text/plain</type>
            <size>5526</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NDQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTI3NWQ1ZGQ2YzljMDQx
NDdjNmMwYTFjNWM1ZTM4ZDU0OTc4YTJkZi4uN2RjMDVjYzEyYTc2NjBkYmU0ZWFjMDU5NDYwOGMx
Mzk3ODI0N2VjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIxLTA2LTAzICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgVXNlIHJlZmVy
ZW5jZXMgaW4gZm9udCBsb2FkaW5nIGNvZGUgaW5zdGVhZCBvZiBwb2ludGVycyB3aGljaCBjYW4g
bmV2ZXIgYmUgbnVsbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjI2NjIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQ1NTRm9udEZhY2U6OmNyZWF0ZSgpJ3MgQ1NTRm9udFNlbGVjdG9yIGNhbiBuZXZlciBi
ZSBudWxsLiBUaGlzIGlzIGNsZWFyIGZyb20KKyAgICAgICAgb2JzZXJ2YXRpb24gb2YgYWxsIDMg
Y2FsbCBzaXRlcy4KKworICAgICAgICBObyBuZXcgdGVzdHMgYmVjYXVzZSB0aGVyZSBpcyBubyBi
ZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTRm9udEZhY2U6OmNyZWF0ZSk6CisgICAgICAgICogY3NzL0NTU0ZvbnRG
YWNlLmg6CisgICAgICAgICogY3NzL0NTU0ZvbnRGYWNlU2V0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNTU0ZvbnRGYWNlU2V0OjplbnN1cmVMb2NhbEZvbnRGYWNlc0ZvckZhbWlseVJlZ2lzdGVy
ZWQpOgorICAgICAgICAqIGNzcy9DU1NGb250U2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTRm9udFNlbGVjdG9yOjphZGRGb250RmFjZVJ1bGUpOgorICAgICAgICAqIGNzcy9Gb250
RmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250RmFjZTo6Rm9udEZhY2UpOgorCiAyMDIx
LTA2LTAzICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CiAKICAgICAgICAgZmFz
dC9kb20vV2luZG93L3Byb3BlcnR5LWFjY2Vzcy1vbi1jYWNoZWQtd2luZG93LWFmdGVyLWZyYW1l
LXJlbW92ZWQuaHRtbCAobGF5b3V0LXRlc3QpIG1heSBjcmFzaApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250
RmFjZS5jcHAKaW5kZXggZTUyZjdmODI2ODRiZWI4YTU5Nzg2MmUzYzc5MTg2ZmFhYTNkNjc1Mi4u
MGIwN2E2NGI2ODJiNTI5YTc2OTAxNzllNThkMTM4NzM2NWI2Mzg1OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTRm9udEZhY2UuY3BwCkBAIC05MCwxMyArOTAsMTIgQEAgdm9pZCBDU1NGb250RmFjZTo6YXBw
ZW5kU291cmNlcyhDU1NGb250RmFjZSYgZm9udEZhY2UsIENTU1ZhbHVlTGlzdCYgc3JjTGlzdCwg
U2MKICAgICBmb250RmFjZS5zb3VyY2VzUG9wdWxhdGVkKCk7CiB9CiAKLVJlZjxDU1NGb250RmFj
ZT4gQ1NTRm9udEZhY2U6OmNyZWF0ZShDU1NGb250U2VsZWN0b3IqIGZvbnRTZWxlY3RvciwgU3R5
bGVSdWxlRm9udEZhY2UqIGNzc0Nvbm5lY3Rpb24sIEZvbnRGYWNlKiB3cmFwcGVyLCBib29sIGlz
TG9jYWxGYWxsYmFjaykKK1JlZjxDU1NGb250RmFjZT4gQ1NTRm9udEZhY2U6OmNyZWF0ZShDU1NG
b250U2VsZWN0b3ImIGZvbnRTZWxlY3RvciwgU3R5bGVSdWxlRm9udEZhY2UqIGNzc0Nvbm5lY3Rp
b24sIEZvbnRGYWNlKiB3cmFwcGVyLCBib29sIGlzTG9jYWxGYWxsYmFjaykKIHsKLSAgICBhdXRv
KiBjb250ZXh0ID0gZm9udFNlbGVjdG9yID8gZm9udFNlbGVjdG9yLT5zY3JpcHRFeGVjdXRpb25D
b250ZXh0KCkgOiBudWxscHRyOworICAgIGF1dG8qIGNvbnRleHQgPSBmb250U2VsZWN0b3Iuc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpOwogICAgIGNvbnN0IGF1dG8qIHNldHRpbmdzID0gY29udGV4
dCA/ICZjb250ZXh0LT5zZXR0aW5nc1ZhbHVlcygpIDogbnVsbHB0cjsKICAgICBhdXRvIHJlc3Vs
dCA9IGFkb3B0UmVmKCpuZXcgQ1NTRm9udEZhY2Uoc2V0dGluZ3MsIGNzc0Nvbm5lY3Rpb24sIHdy
YXBwZXIsIGlzTG9jYWxGYWxsYmFjaykpOwotICAgIGlmIChmb250U2VsZWN0b3IpCi0gICAgICAg
IHJlc3VsdC0+YWRkQ2xpZW50KCpmb250U2VsZWN0b3IpOworICAgIHJlc3VsdC0+YWRkQ2xpZW50
KGZvbnRTZWxlY3Rvcik7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9u
dEZhY2UuaAppbmRleCBmZjA4ODNhNTVmMGI1OWQ3MWJhODEyMTBjMWQzYTkyMTBiM2E5MjhiLi5m
OTc1NWU0MzFmOWNlZmEyOTIyZDFlZjNmYWUyZmRiNjFhYmFkOTNjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Rm9udEZhY2UuaApAQCAtNTcsNyArNTcsNyBAQCBERUNMQVJFX0FMTE9DQVRPUl9XSVRIX0hFQVBf
SURFTlRJRklFUihDU1NGb250RmFjZSk7CiBjbGFzcyBDU1NGb250RmFjZSBmaW5hbCA6IHB1Ymxp
YyBSZWZDb3VudGVkPENTU0ZvbnRGYWNlPiB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURURf
V0lUSF9IRUFQX0lERU5USUZJRVIoQ1NTRm9udEZhY2UpOwogcHVibGljOgotICAgIHN0YXRpYyBS
ZWY8Q1NTRm9udEZhY2U+IGNyZWF0ZShDU1NGb250U2VsZWN0b3IqLCBTdHlsZVJ1bGVGb250RmFj
ZSogY3NzQ29ubmVjdGlvbiA9IG51bGxwdHIsIEZvbnRGYWNlKiB3cmFwcGVyID0gbnVsbHB0ciwg
Ym9vbCBpc0xvY2FsRmFsbGJhY2sgPSBmYWxzZSk7CisgICAgc3RhdGljIFJlZjxDU1NGb250RmFj
ZT4gY3JlYXRlKENTU0ZvbnRTZWxlY3RvciYsIFN0eWxlUnVsZUZvbnRGYWNlKiBjc3NDb25uZWN0
aW9uID0gbnVsbHB0ciwgRm9udEZhY2UqIHdyYXBwZXIgPSBudWxscHRyLCBib29sIGlzTG9jYWxG
YWxsYmFjayA9IGZhbHNlKTsKICAgICB2aXJ0dWFsIH5DU1NGb250RmFjZSgpOwogCiAgICAgLy8g
RklYTUU6IFRoZXNlIGZ1bmN0aW9ucyBkb24ndCBuZWVkIHRvIGhhdmUgYm9vbGVhbiByZXR1cm4g
dmFsdWVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU2V0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNldC5jcHAKaW5kZXggOGFjMTI2MDA0
ZWVlZjc1YWY5MmNjYjBjNzM4YThhYTU4YjA0ZDA3Yy4uZjE1OGM2MDA2OWMzZmNhOTlmMWUzMWNm
MWY1YmI3NGMxYTE2ZjFkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRG
YWNlU2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTZXQuY3BwCkBA
IC0xMTgsNyArMTE4LDcgQEAgdm9pZCBDU1NGb250RmFjZVNldDo6ZW5zdXJlTG9jYWxGb250RmFj
ZXNGb3JGYW1pbHlSZWdpc3RlcmVkKGNvbnN0IFN0cmluZyYgZmFtaWwKIAogICAgIFZlY3RvcjxS
ZWY8Q1NTRm9udEZhY2U+PiBmYWNlczsKICAgICBmb3IgKGF1dG8gaXRlbSA6IGNhcGFiaWxpdGll
cykgewotICAgICAgICBSZWY8Q1NTRm9udEZhY2U+IGZhY2UgPSBDU1NGb250RmFjZTo6Y3JlYXRl
KG1fb3duaW5nRm9udFNlbGVjdG9yLmdldCgpLCBudWxscHRyLCBudWxscHRyLCB0cnVlKTsKKyAg
ICAgICAgYXV0byBmYWNlID0gQ1NTRm9udEZhY2U6OmNyZWF0ZSgqbV9vd25pbmdGb250U2VsZWN0
b3IsIG51bGxwdHIsIG51bGxwdHIsIHRydWUpOwogICAgICAgICAKICAgICAgICAgUmVmPENTU1Zh
bHVlTGlzdD4gZmFtaWx5TGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlQ29tbWFTZXBhcmF0ZWQo
KTsKICAgICAgICAgZmFtaWx5TGlzdC0+YXBwZW5kKG1fb3duaW5nRm9udFNlbGVjdG9yLT5zY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCktPmNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUZvbnRGYW1pbHlWYWx1
ZShmYW1pbHlOYW1lKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNl
bGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCmluZGV4
IDk4NmUxODRjYmVhNDY0MzA1OWRmZjE0M2JjZTY4YjM4YWVhYzg5YmIuLmNlMDE2YjNjMzYzNzIw
MTU4MmIzYTFjYmRjMjRlN2ViN2U5YzJlOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NGb250U2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2Vs
ZWN0b3IuY3BwCkBAIC0xOTAsNyArMTkwLDcgQEAgdm9pZCBDU1NGb250U2VsZWN0b3I6OmFkZEZv
bnRGYWNlUnVsZShTdHlsZVJ1bGVGb250RmFjZSYgZm9udEZhY2VSdWxlLCBib29sIGlzSW4KICAg
ICAgICAgcmV0dXJuOwogCiAgICAgU2V0Rm9yU2NvcGU8Ym9vbD4gY3JlYXRpbmdGb250KG1fY3Jl
YXRpbmdGb250LCB0cnVlKTsKLSAgICBSZWY8Q1NTRm9udEZhY2U+IGZvbnRGYWNlID0gQ1NTRm9u
dEZhY2U6OmNyZWF0ZSh0aGlzLCAmZm9udEZhY2VSdWxlKTsKKyAgICBSZWY8Q1NTRm9udEZhY2U+
IGZvbnRGYWNlID0gQ1NTRm9udEZhY2U6OmNyZWF0ZSgqdGhpcywgJmZvbnRGYWNlUnVsZSk7CiAK
ICAgICBpZiAoIWZvbnRGYWNlLT5zZXRGYW1pbGllcygqZm9udEZhbWlseSkpCiAgICAgICAgIHJl
dHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvRm9udEZhY2UuY3BwCmluZGV4IDk5OGRkZTY1ODM3ZjVlMzVjYmFiNDM2
MmIyOGEwNWMyMzE5Mjk1MjQuLmVmZmQ2MDdjMzQ2ZjliY2ZiYzljMjg4OWJmODMxNjk0ZGEzNDAz
MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlLmNwcApAQCAtMTUxLDcgKzE1MSw3IEBAIFJlZjxGb250
RmFjZT4gRm9udEZhY2U6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBD
U1NGb250RmFjZSYgZmFjCiAKIEZvbnRGYWNlOjpGb250RmFjZShDU1NGb250U2VsZWN0b3ImIGZv
bnRTZWxlY3RvcikKICAgICA6IEFjdGl2ZURPTU9iamVjdChmb250U2VsZWN0b3Iuc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpKQotICAgICwgbV9iYWNraW5nKENTU0ZvbnRGYWNlOjpjcmVhdGUoJmZv
bnRTZWxlY3RvciwgbnVsbHB0ciwgdGhpcykpCisgICAgLCBtX2JhY2tpbmcoQ1NTRm9udEZhY2U6
OmNyZWF0ZShmb250U2VsZWN0b3IsIG51bGxwdHIsIHRoaXMpKQogICAgICwgbV9sb2FkZWRQcm9t
aXNlKG1ha2VVbmlxdWVSZWY8TG9hZGVkUHJvbWlzZT4oKnRoaXMsICZGb250RmFjZTo6bG9hZGVk
UHJvbWlzZVJlc29sdmUpKQogewogICAgIG1fYmFja2luZy0+YWRkQ2xpZW50KCp0aGlzKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430548</attachid>
            <date>2021-06-03 23:13:02 -0700</date>
            <delta_ts>2021-06-04 09:34:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226622-20210603231301.patch</filename>
            <type>text/plain</type>
            <size>5514</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NDQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTI3NWQ1ZGQ2YzljMDQx
NDdjNmMwYTFjNWM1ZTM4ZDU0OTc4YTJkZi4uN2RjMDVjYzEyYTc2NjBkYmU0ZWFjMDU5NDYwOGMx
Mzk3ODI0N2VjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIxLTA2LTAzICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgVXNlIHJlZmVy
ZW5jZXMgaW4gZm9udCBsb2FkaW5nIGNvZGUgaW5zdGVhZCBvZiBwb2ludGVycyB3aGljaCBjYW4g
bmV2ZXIgYmUgbnVsbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjI2NjIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQ1NTRm9udEZhY2U6OmNyZWF0ZSgpJ3MgQ1NTRm9udFNlbGVjdG9yIGNhbiBuZXZlciBi
ZSBudWxsLiBUaGlzIGlzIGNsZWFyIGZyb20KKyAgICAgICAgb2JzZXJ2YXRpb24gb2YgYWxsIDMg
Y2FsbCBzaXRlcy4KKworICAgICAgICBObyBuZXcgdGVzdHMgYmVjYXVzZSB0aGVyZSBpcyBubyBi
ZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTRm9udEZhY2U6OmNyZWF0ZSk6CisgICAgICAgICogY3NzL0NTU0ZvbnRG
YWNlLmg6CisgICAgICAgICogY3NzL0NTU0ZvbnRGYWNlU2V0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNTU0ZvbnRGYWNlU2V0OjplbnN1cmVMb2NhbEZvbnRGYWNlc0ZvckZhbWlseVJlZ2lzdGVy
ZWQpOgorICAgICAgICAqIGNzcy9DU1NGb250U2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTRm9udFNlbGVjdG9yOjphZGRGb250RmFjZVJ1bGUpOgorICAgICAgICAqIGNzcy9Gb250
RmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250RmFjZTo6Rm9udEZhY2UpOgorCiAyMDIx
LTA2LTAzICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CiAKICAgICAgICAgZmFz
dC9kb20vV2luZG93L3Byb3BlcnR5LWFjY2Vzcy1vbi1jYWNoZWQtd2luZG93LWFmdGVyLWZyYW1l
LXJlbW92ZWQuaHRtbCAobGF5b3V0LXRlc3QpIG1heSBjcmFzaApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250
RmFjZS5jcHAKaW5kZXggZTUyZjdmODI2ODRiZWI4YTU5Nzg2MmUzYzc5MTg2ZmFhYTNkNjc1Mi4u
MGIwN2E2NGI2ODJiNTI5YTc2OTAxNzllNThkMTM4NzM2NWI2Mzg1OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTRm9udEZhY2UuY3BwCkBAIC05MCwxMyArOTAsMTIgQEAgdm9pZCBDU1NGb250RmFjZTo6YXBw
ZW5kU291cmNlcyhDU1NGb250RmFjZSYgZm9udEZhY2UsIENTU1ZhbHVlTGlzdCYgc3JjTGlzdCwg
U2MKICAgICBmb250RmFjZS5zb3VyY2VzUG9wdWxhdGVkKCk7CiB9CiAKLVJlZjxDU1NGb250RmFj
ZT4gQ1NTRm9udEZhY2U6OmNyZWF0ZShDU1NGb250U2VsZWN0b3IqIGZvbnRTZWxlY3RvciwgU3R5
bGVSdWxlRm9udEZhY2UqIGNzc0Nvbm5lY3Rpb24sIEZvbnRGYWNlKiB3cmFwcGVyLCBib29sIGlz
TG9jYWxGYWxsYmFjaykKK1JlZjxDU1NGb250RmFjZT4gQ1NTRm9udEZhY2U6OmNyZWF0ZShDU1NG
b250U2VsZWN0b3ImIGZvbnRTZWxlY3RvciwgU3R5bGVSdWxlRm9udEZhY2UqIGNzc0Nvbm5lY3Rp
b24sIEZvbnRGYWNlKiB3cmFwcGVyLCBib29sIGlzTG9jYWxGYWxsYmFjaykKIHsKLSAgICBhdXRv
KiBjb250ZXh0ID0gZm9udFNlbGVjdG9yID8gZm9udFNlbGVjdG9yLT5zY3JpcHRFeGVjdXRpb25D
b250ZXh0KCkgOiBudWxscHRyOworICAgIGF1dG8qIGNvbnRleHQgPSBmb250U2VsZWN0b3Iuc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpOwogICAgIGNvbnN0IGF1dG8qIHNldHRpbmdzID0gY29udGV4
dCA/ICZjb250ZXh0LT5zZXR0aW5nc1ZhbHVlcygpIDogbnVsbHB0cjsKICAgICBhdXRvIHJlc3Vs
dCA9IGFkb3B0UmVmKCpuZXcgQ1NTRm9udEZhY2Uoc2V0dGluZ3MsIGNzc0Nvbm5lY3Rpb24sIHdy
YXBwZXIsIGlzTG9jYWxGYWxsYmFjaykpOwotICAgIGlmIChmb250U2VsZWN0b3IpCi0gICAgICAg
IHJlc3VsdC0+YWRkQ2xpZW50KCpmb250U2VsZWN0b3IpOworICAgIHJlc3VsdC0+YWRkQ2xpZW50
KGZvbnRTZWxlY3Rvcik7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9u
dEZhY2UuaAppbmRleCBmZjA4ODNhNTVmMGI1OWQ3MWJhODEyMTBjMWQzYTkyMTBiM2E5MjhiLi5m
OTc1NWU0MzFmOWNlZmEyOTIyZDFlZjNmYWUyZmRiNjFhYmFkOTNjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Rm9udEZhY2UuaApAQCAtNTcsNyArNTcsNyBAQCBERUNMQVJFX0FMTE9DQVRPUl9XSVRIX0hFQVBf
SURFTlRJRklFUihDU1NGb250RmFjZSk7CiBjbGFzcyBDU1NGb250RmFjZSBmaW5hbCA6IHB1Ymxp
YyBSZWZDb3VudGVkPENTU0ZvbnRGYWNlPiB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURURf
V0lUSF9IRUFQX0lERU5USUZJRVIoQ1NTRm9udEZhY2UpOwogcHVibGljOgotICAgIHN0YXRpYyBS
ZWY8Q1NTRm9udEZhY2U+IGNyZWF0ZShDU1NGb250U2VsZWN0b3IqLCBTdHlsZVJ1bGVGb250RmFj
ZSogY3NzQ29ubmVjdGlvbiA9IG51bGxwdHIsIEZvbnRGYWNlKiB3cmFwcGVyID0gbnVsbHB0ciwg
Ym9vbCBpc0xvY2FsRmFsbGJhY2sgPSBmYWxzZSk7CisgICAgc3RhdGljIFJlZjxDU1NGb250RmFj
ZT4gY3JlYXRlKENTU0ZvbnRTZWxlY3RvciYsIFN0eWxlUnVsZUZvbnRGYWNlKiBjc3NDb25uZWN0
aW9uID0gbnVsbHB0ciwgRm9udEZhY2UqIHdyYXBwZXIgPSBudWxscHRyLCBib29sIGlzTG9jYWxG
YWxsYmFjayA9IGZhbHNlKTsKICAgICB2aXJ0dWFsIH5DU1NGb250RmFjZSgpOwogCiAgICAgLy8g
RklYTUU6IFRoZXNlIGZ1bmN0aW9ucyBkb24ndCBuZWVkIHRvIGhhdmUgYm9vbGVhbiByZXR1cm4g
dmFsdWVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU2V0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNldC5jcHAKaW5kZXggOGFjMTI2MDA0
ZWVlZjc1YWY5MmNjYjBjNzM4YThhYTU4YjA0ZDA3Yy4uZjE1OGM2MDA2OWMzZmNhOTlmMWUzMWNm
MWY1YmI3NGMxYTE2ZjFkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRG
YWNlU2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTZXQuY3BwCkBA
IC0xMTgsNyArMTE4LDcgQEAgdm9pZCBDU1NGb250RmFjZVNldDo6ZW5zdXJlTG9jYWxGb250RmFj
ZXNGb3JGYW1pbHlSZWdpc3RlcmVkKGNvbnN0IFN0cmluZyYgZmFtaWwKIAogICAgIFZlY3RvcjxS
ZWY8Q1NTRm9udEZhY2U+PiBmYWNlczsKICAgICBmb3IgKGF1dG8gaXRlbSA6IGNhcGFiaWxpdGll
cykgewotICAgICAgICBSZWY8Q1NTRm9udEZhY2U+IGZhY2UgPSBDU1NGb250RmFjZTo6Y3JlYXRl
KG1fb3duaW5nRm9udFNlbGVjdG9yLmdldCgpLCBudWxscHRyLCBudWxscHRyLCB0cnVlKTsKKyAg
ICAgICAgYXV0byBmYWNlID0gQ1NTRm9udEZhY2U6OmNyZWF0ZSgqbV9vd25pbmdGb250U2VsZWN0
b3IsIG51bGxwdHIsIG51bGxwdHIsIHRydWUpOwogICAgICAgICAKICAgICAgICAgUmVmPENTU1Zh
bHVlTGlzdD4gZmFtaWx5TGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlQ29tbWFTZXBhcmF0ZWQo
KTsKICAgICAgICAgZmFtaWx5TGlzdC0+YXBwZW5kKG1fb3duaW5nRm9udFNlbGVjdG9yLT5zY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCktPmNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUZvbnRGYW1pbHlWYWx1
ZShmYW1pbHlOYW1lKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNl
bGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCmluZGV4
IDk4NmUxODRjYmVhNDY0MzA1OWRmZjE0M2JjZTY4YjM4YWVhYzg5YmIuLjk2NDYzMDM0ZmMzMGNj
MzZmNjBmNzFjZmYyYTc3ZTk2M2NkNWQxNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NGb250U2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2Vs
ZWN0b3IuY3BwCkBAIC0xOTAsNyArMTkwLDcgQEAgdm9pZCBDU1NGb250U2VsZWN0b3I6OmFkZEZv
bnRGYWNlUnVsZShTdHlsZVJ1bGVGb250RmFjZSYgZm9udEZhY2VSdWxlLCBib29sIGlzSW4KICAg
ICAgICAgcmV0dXJuOwogCiAgICAgU2V0Rm9yU2NvcGU8Ym9vbD4gY3JlYXRpbmdGb250KG1fY3Jl
YXRpbmdGb250LCB0cnVlKTsKLSAgICBSZWY8Q1NTRm9udEZhY2U+IGZvbnRGYWNlID0gQ1NTRm9u
dEZhY2U6OmNyZWF0ZSh0aGlzLCAmZm9udEZhY2VSdWxlKTsKKyAgICBhdXRvIGZvbnRGYWNlID0g
Q1NTRm9udEZhY2U6OmNyZWF0ZSgqdGhpcywgJmZvbnRGYWNlUnVsZSk7CiAKICAgICBpZiAoIWZv
bnRGYWNlLT5zZXRGYW1pbGllcygqZm9udEZhbWlseSkpCiAgICAgICAgIHJldHVybjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvRm9udEZhY2UuY3BwCmluZGV4IDk5OGRkZTY1ODM3ZjVlMzVjYmFiNDM2MmIyOGEwNWMyMzE5
Mjk1MjQuLmVmZmQ2MDdjMzQ2ZjliY2ZiYzljMjg4OWJmODMxNjk0ZGEzNDAzMDUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0ZvbnRGYWNlLmNwcApAQCAtMTUxLDcgKzE1MSw3IEBAIFJlZjxGb250RmFjZT4gRm9udEZh
Y2U6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBDU1NGb250RmFjZSYg
ZmFjCiAKIEZvbnRGYWNlOjpGb250RmFjZShDU1NGb250U2VsZWN0b3ImIGZvbnRTZWxlY3RvcikK
ICAgICA6IEFjdGl2ZURPTU9iamVjdChmb250U2VsZWN0b3Iuc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpKQotICAgICwgbV9iYWNraW5nKENTU0ZvbnRGYWNlOjpjcmVhdGUoJmZvbnRTZWxlY3Rvciwg
bnVsbHB0ciwgdGhpcykpCisgICAgLCBtX2JhY2tpbmcoQ1NTRm9udEZhY2U6OmNyZWF0ZShmb250
U2VsZWN0b3IsIG51bGxwdHIsIHRoaXMpKQogICAgICwgbV9sb2FkZWRQcm9taXNlKG1ha2VVbmlx
dWVSZWY8TG9hZGVkUHJvbWlzZT4oKnRoaXMsICZGb250RmFjZTo6bG9hZGVkUHJvbWlzZVJlc29s
dmUpKQogewogICAgIG1fYmFja2luZy0+YWRkQ2xpZW50KCp0aGlzKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>