<?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>225279</bug_id>
          
          <creation_ts>2021-05-02 08:17:38 -0700</creation_ts>
          <short_desc>[GTK] segmentation fault in WebKit::IconDatabase::loadIconForPageURL</short_desc>
          <delta_ts>2021-05-05 06:17:42 -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>WebKitGTK</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=218427</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=225348</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="Jim Mason">jmason</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aperez</cc>
    
    <cc>berto</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>dennisn</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gustavo</cc>
    
    <cc>mike</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1756041</commentid>
    <comment_count>0</comment_count>
    <who name="Jim Mason">jmason</who>
    <bug_when>2021-05-02 08:17:38 -0700</bug_when>
    <thetext>gtk3: 3.24.11
gdk-pixbuf: 2.40.0
cairo: 1.16.0
glib2: 2.66.8

I am encountering a segmentation fault in IconDatabase::loadIconForPageURL due to dereference of a null pointer returned by NativeImage::nativeImageForCurrentFrame.  This happens for certain (broken? unsupported?) icons, but not all.  One such icon is the favicon for this URL:

    https://thomas-guettler.de/htmx-swap-err-webkit/page.html

For me, entering the above URL in epiphany 40.0 elicits the seg fault.

I&apos;ve attached a patch which clears the issue.  The patch also applies a similar null pointer check in the method setIconForPageURL.

The fix assumes `nativeImageForCurrentFrame` can return null.  If that method is supposed to return non-null in all cases, then there is another problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756042</commentid>
    <comment_count>1</comment_count>
      <attachid>427525</attachid>
    <who name="Jim Mason">jmason</who>
    <bug_when>2021-05-02 08:19:01 -0700</bug_when>
    <thetext>Created attachment 427525
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756043</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-05-02 08:20:05 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See https://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756044</commentid>
    <comment_count>3</comment_count>
      <attachid>427526</attachid>
    <who name="Jim Mason">jmason</who>
    <bug_when>2021-05-02 08:23:29 -0700</bug_when>
    <thetext>Created attachment 427526
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756056</commentid>
    <comment_count>4</comment_count>
      <attachid>427529</attachid>
    <who name="Jim Mason">jmason</who>
    <bug_when>2021-05-02 09:43:28 -0700</bug_when>
    <thetext>Created attachment 427529
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756457</commentid>
    <comment_count>5</comment_count>
      <attachid>427529</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-05-04 00:20:44 -0700</bug_when>
    <thetext>Comment on attachment 427529
Patch

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

&gt; Source/WebKit/UIProcess/API/glib/IconDatabase.cpp:586
&gt; +                if (nativeImage != nullptr)

Do not compare to nullptr. We normally prefer the early return first and avoid the else, so this would be:

if (!nativeImage) {
    completionHandler(nullptr);
    return;
}

addResult.iterator-&gt;value.first = nativeImage-&gt;platformImage();

&gt; Source/WebKit/UIProcess/API/glib/IconDatabase.cpp:626
&gt; +                    auto nativeImage = image-&gt;nativeImageForCurrentFrame();
&gt; +                    if (nativeImage != nullptr)

And here this could be

if (auto nativeImage = image-&gt;nativeImageForCurrentFrame())</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756479</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-05-04 02:26:07 -0700</bug_when>
    <thetext>*** Bug 225313 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756488</commentid>
    <comment_count>7</comment_count>
    <who name="Jim Mason">jmason</who>
    <bug_when>2021-05-04 03:11:32 -0700</bug_when>
    <thetext>Thanks for the feedback.

In setIconForPageURL, I am tempted to simplify this:

    auto image = BitmapImage::create();
    if (image-&gt;setData(SharedBuffer::create(iconData, iconDataSize), true) &lt; EncodedDataStatus::SizeAvailable)
        result = false;
    else if (auto nativeImage = image-&gt;nativeImageForCurrentFrame())
        addResult.iterator-&gt;value.first = nativeImage-&gt;platformImage();
    else
        result = false;

to something like this:

    RefPtr&lt;NativeImage&gt; nativeImage;
    auto image = BitmapImage::create();
    if (image-&gt;setData(SharedBuffer::create(iconData, iconDataSize), true) &gt;= EncodedDataStatus::SizeAvailable &amp;&amp;
            (nativeImage = image-&gt;nativeImageForCurrentFrame()))
        addResult.iterator-&gt;value.first = nativeImage-&gt;platformImage();
    else
        result = false;

However, this means using RefPtr&lt;NativeImage&gt; instead of auto; I have doubts whether this frowned upon.  Advice?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756489</commentid>
    <comment_count>8</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2021-05-04 03:14:04 -0700</bug_when>
    <thetext>(In reply to Jim Mason from comment #7)
&gt; Thanks for the feedback.
&gt; 
&gt; In setIconForPageURL, I am tempted to simplify this:
&gt; 
&gt;     auto image = BitmapImage::create();
&gt;     if (image-&gt;setData(SharedBuffer::create(iconData, iconDataSize), true) &lt;
&gt; EncodedDataStatus::SizeAvailable)
&gt;         result = false;
&gt;     else if (auto nativeImage = image-&gt;nativeImageForCurrentFrame())
&gt;         addResult.iterator-&gt;value.first = nativeImage-&gt;platformImage();
&gt;     else
&gt;         result = false;
&gt; 
&gt; to something like this:
&gt; 
&gt;     RefPtr&lt;NativeImage&gt; nativeImage;
&gt;     auto image = BitmapImage::create();
&gt;     if (image-&gt;setData(SharedBuffer::create(iconData, iconDataSize), true)
&gt; &gt;= EncodedDataStatus::SizeAvailable &amp;&amp;
&gt;             (nativeImage = image-&gt;nativeImageForCurrentFrame()))
&gt;         addResult.iterator-&gt;value.first = nativeImage-&gt;platformImage();
&gt;     else
&gt;         result = false;
&gt; 
&gt; However, this means using RefPtr&lt;NativeImage&gt; instead of auto; I have doubts
&gt; whether this frowned upon.  Advice?

There are similar bits of code all around WebKit, this is fine 👌️</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756490</commentid>
    <comment_count>9</comment_count>
      <attachid>427648</attachid>
    <who name="Jim Mason">jmason</who>
    <bug_when>2021-05-04 03:36:10 -0700</bug_when>
    <thetext>Created attachment 427648
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756502</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-04 05:38:28 -0700</bug_when>
    <thetext>Committed r276954 (237287@main): &lt;https://commits.webkit.org/237287@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 427648.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756559</commentid>
    <comment_count>11</comment_count>
    <who name="Jim Mason">jmason</who>
    <bug_when>2021-05-04 09:32:31 -0700</bug_when>
    <thetext>Fix verified in r276954.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756921</commentid>
    <comment_count>12</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2021-05-05 06:17:42 -0700</bug_when>
    <thetext>*** Bug 225348 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427525</attachid>
            <date>2021-05-02 08:19:01 -0700</date>
            <delta_ts>2021-05-02 08:23:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225279-20210502161900.patch</filename>
            <type>text/plain</type>
            <size>2366</size>
            <attacher name="Jim Mason">jmason</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNzY4ODIpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDIxLTA1LTAyICBKaW0gTWFzb24g
IDxqbWFzb25AaWJpbnguY29tPgorCisgICAgICAgIFtHVEtdIHNlZ21lbnRhdGlvbiBmYXVsdCBp
biBXZWJLaXQ6Okljb25EYXRhYmFzZTo6bG9hZEljb25Gb3JQYWdlVVJMCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjUyNzkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgKE9PUFMhKS4K
KworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ2xpYi9JY29uRGF0YWJhc2UuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpJY29uRGF0YWJhc2U6OmxvYWRJY29uRm9yUGFnZVVSTCk6CisgICAgICAgIChX
ZWJLaXQ6Okljb25EYXRhYmFzZTo6c2V0SWNvbkZvclBhZ2VVUkwpOgorCiAyMDIxLTA0LTMwICBE
YXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBVc2UgU29ydGVkQXJyYXlN
YXAgaW4gYSBmZXcgbW9yZSBwbGFjZXMKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9nbGliL0ljb25EYXRhYmFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL2dsaWIvSWNvbkRhdGFiYXNlLmNwcAkocmV2aXNpb24gMjc2ODczKQorKysgU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvSWNvbkRhdGFiYXNlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNTgxLDcgKzU4MSwxMiBAQCB2b2lkIEljb25EYXRhYmFzZTo6bG9hZEljb25Gb3JQ
YWdlVVJMKGNvCiAgICAgICAgICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKG51bGxwdHIp
OwogICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIGFkZFJlc3VsdC5pdGVyYXRvci0+dmFsdWUuZmlyc3QgPSBpbWFnZS0+bmF0aXZl
SW1hZ2VGb3JDdXJyZW50RnJhbWUoKS0+cGxhdGZvcm1JbWFnZSgpOworCisgICAgICAgICAgICAg
ICAgYXV0byBuYXRpdmVJbWFnZSA9IGltYWdlLT5uYXRpdmVJbWFnZUZvckN1cnJlbnRGcmFtZSgp
OworICAgICAgICAgICAgICAgIGlmIChuYXRpdmVJbWFnZSAhPSBudWxscHRyKQorICAgICAgICAg
ICAgICAgICAgICBhZGRSZXN1bHQuaXRlcmF0b3ItPnZhbHVlLmZpcnN0ID0gbmF0aXZlSW1hZ2Ut
PnBsYXRmb3JtSW1hZ2UoKTsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgYXV0byBpY29uID0gYWRk
UmVzdWx0Lml0ZXJhdG9yLT52YWx1ZS5maXJzdDsKQEAgLTYxNCw4ICs2MTksMTMgQEAgdm9pZCBJ
Y29uRGF0YWJhc2U6OnNldEljb25Gb3JQYWdlVVJMKGNvbgogICAgICAgICAgICAgICAgIGF1dG8g
aW1hZ2UgPSBCaXRtYXBJbWFnZTo6Y3JlYXRlKCk7CiAgICAgICAgICAgICAgICAgaWYgKGltYWdl
LT5zZXREYXRhKFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKGljb25EYXRhLCBpY29uRGF0YVNpemUpLCB0
cnVlKSA8IEVuY29kZWREYXRhU3RhdHVzOjpTaXplQXZhaWxhYmxlKQogICAgICAgICAgICAgICAg
ICAgICByZXN1bHQgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAg
ICAgICAgIGFkZFJlc3VsdC5pdGVyYXRvci0+dmFsdWUuZmlyc3QgPSBpbWFnZS0+bmF0aXZlSW1h
Z2VGb3JDdXJyZW50RnJhbWUoKS0+cGxhdGZvcm1JbWFnZSgpOworICAgICAgICAgICAgICAgIGVs
c2UgeworICAgICAgICAgICAgICAgICAgICBhdXRvIG5hdGl2ZUltYWdlID0gaW1hZ2UtPm5hdGl2
ZUltYWdlRm9yQ3VycmVudEZyYW1lKCk7CisgICAgICAgICAgICAgICAgICAgIGlmIChuYXRpdmVJ
bWFnZSAhPSBudWxscHRyKQorICAgICAgICAgICAgICAgICAgICAgICAgYWRkUmVzdWx0Lml0ZXJh
dG9yLT52YWx1ZS5maXJzdCA9IG5hdGl2ZUltYWdlLT5wbGF0Zm9ybUltYWdlKCk7CisgICAgICAg
ICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IGZhbHNl
OworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBz
dGFydENsZWFyTG9hZGVkSWNvbnNUaW1lcigpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427526</attachid>
            <date>2021-05-02 08:23:29 -0700</date>
            <delta_ts>2021-05-02 09:43:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225279-20210502162327.patch</filename>
            <type>text/plain</type>
            <size>2333</size>
            <attacher name="Jim Mason">jmason</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNzY4ODIpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA1LTAyICBKaW0gTWFzb24g
IDxqbWFzb25AaWJpbnguY29tPgorCisgICAgICAgIFtHVEtdIHNlZ21lbnRhdGlvbiBmYXVsdCBp
biBXZWJLaXQ6Okljb25EYXRhYmFzZTo6bG9hZEljb25Gb3JQYWdlVVJMCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjUyNzkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ2xpYi9J
Y29uRGF0YWJhc2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpJY29uRGF0YWJhc2U6OmxvYWRJY29u
Rm9yUGFnZVVSTCk6CisgICAgICAgIChXZWJLaXQ6Okljb25EYXRhYmFzZTo6c2V0SWNvbkZvclBh
Z2VVUkwpOgorCiAyMDIxLTA0LTMwICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAog
ICAgICAgICBVc2UgU29ydGVkQXJyYXlNYXAgaW4gYSBmZXcgbW9yZSBwbGFjZXMKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL0ljb25EYXRhYmFzZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvSWNvbkRhdGFiYXNlLmNwcAko
cmV2aXNpb24gMjc2ODczKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvSWNv
bkRhdGFiYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTgxLDcgKzU4MSwxMiBAQCB2b2lkIElj
b25EYXRhYmFzZTo6bG9hZEljb25Gb3JQYWdlVVJMKGNvCiAgICAgICAgICAgICAgICAgICAgIGNv
bXBsZXRpb25IYW5kbGVyKG51bGxwdHIpOwogICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGFkZFJlc3VsdC5pdGVyYXRvci0+dmFs
dWUuZmlyc3QgPSBpbWFnZS0+bmF0aXZlSW1hZ2VGb3JDdXJyZW50RnJhbWUoKS0+cGxhdGZvcm1J
bWFnZSgpOworCisgICAgICAgICAgICAgICAgYXV0byBuYXRpdmVJbWFnZSA9IGltYWdlLT5uYXRp
dmVJbWFnZUZvckN1cnJlbnRGcmFtZSgpOworICAgICAgICAgICAgICAgIGlmIChuYXRpdmVJbWFn
ZSAhPSBudWxscHRyKQorICAgICAgICAgICAgICAgICAgICBhZGRSZXN1bHQuaXRlcmF0b3ItPnZh
bHVlLmZpcnN0ID0gbmF0aXZlSW1hZ2UtPnBsYXRmb3JtSW1hZ2UoKTsKKyAgICAgICAgICAgICAg
ICBlbHNlCisgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KIAogICAg
ICAgICAgICAgYXV0byBpY29uID0gYWRkUmVzdWx0Lml0ZXJhdG9yLT52YWx1ZS5maXJzdDsKQEAg
LTYxNCw4ICs2MTksMTMgQEAgdm9pZCBJY29uRGF0YWJhc2U6OnNldEljb25Gb3JQYWdlVVJMKGNv
bgogICAgICAgICAgICAgICAgIGF1dG8gaW1hZ2UgPSBCaXRtYXBJbWFnZTo6Y3JlYXRlKCk7CiAg
ICAgICAgICAgICAgICAgaWYgKGltYWdlLT5zZXREYXRhKFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKGlj
b25EYXRhLCBpY29uRGF0YVNpemUpLCB0cnVlKSA8IEVuY29kZWREYXRhU3RhdHVzOjpTaXplQXZh
aWxhYmxlKQogICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBmYWxzZTsKLSAgICAgICAgICAg
ICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIGFkZFJlc3VsdC5pdGVyYXRvci0+dmFsdWUu
Zmlyc3QgPSBpbWFnZS0+bmF0aXZlSW1hZ2VGb3JDdXJyZW50RnJhbWUoKS0+cGxhdGZvcm1JbWFn
ZSgpOworICAgICAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgICAgICBhdXRvIG5h
dGl2ZUltYWdlID0gaW1hZ2UtPm5hdGl2ZUltYWdlRm9yQ3VycmVudEZyYW1lKCk7CisgICAgICAg
ICAgICAgICAgICAgIGlmIChuYXRpdmVJbWFnZSAhPSBudWxscHRyKQorICAgICAgICAgICAgICAg
ICAgICAgICAgYWRkUmVzdWx0Lml0ZXJhdG9yLT52YWx1ZS5maXJzdCA9IG5hdGl2ZUltYWdlLT5w
bGF0Zm9ybUltYWdlKCk7CisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHJlc3VsdCA9IGZhbHNlOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
IH0KICAgICAgICAgfQogICAgICAgICBzdGFydENsZWFyTG9hZGVkSWNvbnNUaW1lcigpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427529</attachid>
            <date>2021-05-02 09:43:28 -0700</date>
            <delta_ts>2021-05-04 03:36:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225279-20210502174326.patch</filename>
            <type>text/plain</type>
            <size>2403</size>
            <attacher name="Jim Mason">jmason</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNzY4ODIpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA1LTAyICBKaW0gTWFzb24g
IDxqbWFzb25AaWJpbnguY29tPgorCisgICAgICAgIFtHVEtdIHNlZ21lbnRhdGlvbiBmYXVsdCBp
biBXZWJLaXQ6Okljb25EYXRhYmFzZTo6bG9hZEljb25Gb3JQYWdlVVJMCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjUyNzkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ2xpYi9J
Y29uRGF0YWJhc2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpJY29uRGF0YWJhc2U6OmxvYWRJY29u
Rm9yUGFnZVVSTCk6CisgICAgICAgIChXZWJLaXQ6Okljb25EYXRhYmFzZTo6c2V0SWNvbkZvclBh
Z2VVUkwpOgorCiAyMDIxLTA0LTMwICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAog
ICAgICAgICBVc2UgU29ydGVkQXJyYXlNYXAgaW4gYSBmZXcgbW9yZSBwbGFjZXMKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL0ljb25EYXRhYmFzZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvSWNvbkRhdGFiYXNlLmNwcAko
cmV2aXNpb24gMjc2ODczKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvSWNv
bkRhdGFiYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTgxLDcgKzU4MSwxNCBAQCB2b2lkIElj
b25EYXRhYmFzZTo6bG9hZEljb25Gb3JQYWdlVVJMKGNvCiAgICAgICAgICAgICAgICAgICAgIGNv
bXBsZXRpb25IYW5kbGVyKG51bGxwdHIpOwogICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGFkZFJlc3VsdC5pdGVyYXRvci0+dmFs
dWUuZmlyc3QgPSBpbWFnZS0+bmF0aXZlSW1hZ2VGb3JDdXJyZW50RnJhbWUoKS0+cGxhdGZvcm1J
bWFnZSgpOworCisgICAgICAgICAgICAgICAgYXV0byBuYXRpdmVJbWFnZSA9IGltYWdlLT5uYXRp
dmVJbWFnZUZvckN1cnJlbnRGcmFtZSgpOworICAgICAgICAgICAgICAgIGlmIChuYXRpdmVJbWFn
ZSAhPSBudWxscHRyKQorICAgICAgICAgICAgICAgICAgICBhZGRSZXN1bHQuaXRlcmF0b3ItPnZh
bHVlLmZpcnN0ID0gbmF0aXZlSW1hZ2UtPnBsYXRmb3JtSW1hZ2UoKTsKKyAgICAgICAgICAgICAg
ICBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIobnVsbHB0cik7
CisgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICB9CiAKICAgICAgICAgICAgIGF1dG8gaWNvbiA9IGFkZFJlc3VsdC5pdGVyYXRvci0+dmFs
dWUuZmlyc3Q7CkBAIC02MTQsOCArNjIxLDEzIEBAIHZvaWQgSWNvbkRhdGFiYXNlOjpzZXRJY29u
Rm9yUGFnZVVSTChjb24KICAgICAgICAgICAgICAgICBhdXRvIGltYWdlID0gQml0bWFwSW1hZ2U6
OmNyZWF0ZSgpOwogICAgICAgICAgICAgICAgIGlmIChpbWFnZS0+c2V0RGF0YShTaGFyZWRCdWZm
ZXI6OmNyZWF0ZShpY29uRGF0YSwgaWNvbkRhdGFTaXplKSwgdHJ1ZSkgPCBFbmNvZGVkRGF0YVN0
YXR1czo6U2l6ZUF2YWlsYWJsZSkKICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7
Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBhZGRSZXN1bHQuaXRl
cmF0b3ItPnZhbHVlLmZpcnN0ID0gaW1hZ2UtPm5hdGl2ZUltYWdlRm9yQ3VycmVudEZyYW1lKCkt
PnBsYXRmb3JtSW1hZ2UoKTsKKyAgICAgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAg
ICAgICAgYXV0byBuYXRpdmVJbWFnZSA9IGltYWdlLT5uYXRpdmVJbWFnZUZvckN1cnJlbnRGcmFt
ZSgpOworICAgICAgICAgICAgICAgICAgICBpZiAobmF0aXZlSW1hZ2UgIT0gbnVsbHB0cikKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGFkZFJlc3VsdC5pdGVyYXRvci0+dmFsdWUuZmlyc3QgPSBu
YXRpdmVJbWFnZS0+cGxhdGZvcm1JbWFnZSgpOworICAgICAgICAgICAgICAgICAgICBlbHNlCisg
ICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICB9
CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgc3RhcnRDbGVhckxvYWRlZEljb25z
VGltZXIoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427648</attachid>
            <date>2021-05-04 03:36:10 -0700</date>
            <delta_ts>2021-05-04 05:38:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225279-20210504113609.patch</filename>
            <type>text/plain</type>
            <size>2606</size>
            <attacher name="Jim Mason">jmason</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNzY4ODIpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA1LTAyICBKaW0gTWFzb24g
IDxqbWFzb25AaWJpbnguY29tPgorCisgICAgICAgIFtHVEtdIHNlZ21lbnRhdGlvbiBmYXVsdCBp
biBXZWJLaXQ6Okljb25EYXRhYmFzZTo6bG9hZEljb25Gb3JQYWdlVVJMCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjUyNzkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ2xpYi9J
Y29uRGF0YWJhc2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpJY29uRGF0YWJhc2U6OmxvYWRJY29u
Rm9yUGFnZVVSTCk6CisgICAgICAgIChXZWJLaXQ6Okljb25EYXRhYmFzZTo6c2V0SWNvbkZvclBh
Z2VVUkwpOgorCiAyMDIxLTA0LTMwICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAog
ICAgICAgICBVc2UgU29ydGVkQXJyYXlNYXAgaW4gYSBmZXcgbW9yZSBwbGFjZXMKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL0ljb25EYXRhYmFzZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvSWNvbkRhdGFiYXNlLmNwcAko
cmV2aXNpb24gMjc2ODczKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvSWNv
bkRhdGFiYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTgxLDcgKzU4MSwxNCBAQCB2b2lkIElj
b25EYXRhYmFzZTo6bG9hZEljb25Gb3JQYWdlVVJMKGNvCiAgICAgICAgICAgICAgICAgICAgIGNv
bXBsZXRpb25IYW5kbGVyKG51bGxwdHIpOwogICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGFkZFJlc3VsdC5pdGVyYXRvci0+dmFs
dWUuZmlyc3QgPSBpbWFnZS0+bmF0aXZlSW1hZ2VGb3JDdXJyZW50RnJhbWUoKS0+cGxhdGZvcm1J
bWFnZSgpOworCisgICAgICAgICAgICAgICAgYXV0byBuYXRpdmVJbWFnZSA9IGltYWdlLT5uYXRp
dmVJbWFnZUZvckN1cnJlbnRGcmFtZSgpOworICAgICAgICAgICAgICAgIGlmICghbmF0aXZlSW1h
Z2UpIHsKKyAgICAgICAgICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIobnVsbHB0cik7Cisg
ICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgICAgICBhZGRSZXN1bHQuaXRlcmF0b3ItPnZhbHVlLmZpcnN0ID0gbmF0aXZlSW1hZ2UtPnBs
YXRmb3JtSW1hZ2UoKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgYXV0byBpY29uID0g
YWRkUmVzdWx0Lml0ZXJhdG9yLT52YWx1ZS5maXJzdDsKQEAgLTYxMSwxMSArNjE4LDEyIEBAIHZv
aWQgSWNvbkRhdGFiYXNlOjpzZXRJY29uRm9yUGFnZVVSTChjb24KICAgICAgICAgICAgIExvY2tI
b2xkZXIgbG9ja0hvbGRlcihtX2xvYWRlZEljb25zTG9jayk7CiAgICAgICAgICAgICBhdXRvIGFk
ZFJlc3VsdCA9IG1fbG9hZGVkSWNvbnMuc2V0KGljb25VUkwsIHN0ZDo6bWFrZV9wYWlyPFBsYXRm
b3JtSW1hZ2VQdHIsIE1vbm90b25pY1RpbWU+KG51bGxwdHIsIHsgfSkpOwogICAgICAgICAgICAg
aWYgKGljb25EYXRhU2l6ZSkgeworICAgICAgICAgICAgICAgIFJlZlB0cjxOYXRpdmVJbWFnZT4g
bmF0aXZlSW1hZ2U7CiAgICAgICAgICAgICAgICAgYXV0byBpbWFnZSA9IEJpdG1hcEltYWdlOjpj
cmVhdGUoKTsKLSAgICAgICAgICAgICAgICBpZiAoaW1hZ2UtPnNldERhdGEoU2hhcmVkQnVmZmVy
OjpjcmVhdGUoaWNvbkRhdGEsIGljb25EYXRhU2l6ZSksIHRydWUpIDwgRW5jb2RlZERhdGFTdGF0
dXM6OlNpemVBdmFpbGFibGUpCi0gICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IGZhbHNlOwor
ICAgICAgICAgICAgICAgIGlmIChpbWFnZS0+c2V0RGF0YShTaGFyZWRCdWZmZXI6OmNyZWF0ZShp
Y29uRGF0YSwgaWNvbkRhdGFTaXplKSwgdHJ1ZSkgPj0gRW5jb2RlZERhdGFTdGF0dXM6OlNpemVB
dmFpbGFibGUgJiYgKG5hdGl2ZUltYWdlID0gaW1hZ2UtPm5hdGl2ZUltYWdlRm9yQ3VycmVudEZy
YW1lKCkpKQorICAgICAgICAgICAgICAgICAgICBhZGRSZXN1bHQuaXRlcmF0b3ItPnZhbHVlLmZp
cnN0ID0gbmF0aXZlSW1hZ2UtPnBsYXRmb3JtSW1hZ2UoKTsKICAgICAgICAgICAgICAgICBlbHNl
Ci0gICAgICAgICAgICAgICAgICAgIGFkZFJlc3VsdC5pdGVyYXRvci0+dmFsdWUuZmlyc3QgPSBp
bWFnZS0+bmF0aXZlSW1hZ2VGb3JDdXJyZW50RnJhbWUoKS0+cGxhdGZvcm1JbWFnZSgpOworICAg
ICAgICAgICAgICAgICAgICByZXN1bHQgPSBmYWxzZTsKICAgICAgICAgICAgIH0KICAgICAgICAg
fQogICAgICAgICBzdGFydENsZWFyTG9hZGVkSWNvbnNUaW1lcigpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>