<?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>171678</bug_id>
          
          <creation_ts>2017-05-04 11:33:22 -0700</creation_ts>
          <short_desc>Cleanup: Extract CachedScript::mimeTypeAllowedByNosniff() into a common function</short_desc>
          <delta_ts>2017-05-04 12:49:55 -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>WebCore Misc.</component>
          <version>WebKit Local Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <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="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>aestes</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>japhet</cc>
    
    <cc>kangil.han</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1304716</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-05-04 11:33:22 -0700</bug_when>
    <thetext>CachedScript::mimeType() is only used by CachedScript::mimeTypeAllowedByNosniff(). Moreover, it is unnecessary to lowercase the MIME type before querying MIMETypeRegistry as MIMETypeRegistry performs lookup case-insensitively. We should remove the lowercase conversion and inline CachedScript::mimeType() into CachedScript::mimeTypeAllowedByNosniff().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1304732</commentid>
    <comment_count>1</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-05-04 11:51:17 -0700</bug_when>
    <thetext>Even better, we should extract CachedScript::mimeTypeAllowedByNosniff() into a common function that can be shared by LoadableClassicScript and WorkerScriptLoader.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1304738</commentid>
    <comment_count>2</comment_count>
      <attachid>309075</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-05-04 11:59:26 -0700</bug_when>
    <thetext>Created attachment 309075
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1304743</commentid>
    <comment_count>3</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-05-04 12:02:46 -0700</bug_when>
    <thetext>I am open to suggestions on the name and placement of isScriptAllowedByNosniff(). When I wrote the patch (attachment #309075) I put this function in ResourceResponseBase.{cpp, h} because it operates on a ResourceResponse.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1304747</commentid>
    <comment_count>4</comment_count>
      <attachid>309075</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-05-04 12:06:20 -0700</bug_when>
    <thetext>Comment on attachment 309075
Patch

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

&gt; Source/WebCore/platform/network/ResourceResponseBase.cpp:47
&gt; +    String mimeType = extractMIMETypeFromMediaType(response.httpHeaderField(HTTPHeaderName::ContentType));
&gt; +    return parseContentTypeOptionsHeader(response.httpHeaderField(HTTPHeaderName::XContentTypeOptions)) != ContentTypeOptionsNosniff || MIMETypeRegistry::isSupportedJavaScriptMIMEType(mimeType);

Seems like this could be broken up a bit. For instance, if parseContentTypeOptionsHeader(response.httpHeaderField(HTTPHeaderName::XContentTypeOptions)) is true then you don&apos;t need to compute the mimeType from the ContentType header.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1304748</commentid>
    <comment_count>5</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-05-04 12:07:05 -0700</bug_when>
    <thetext>(In reply to Andy Estes from comment #4)
&gt; Comment on attachment 309075 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=309075&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/network/ResourceResponseBase.cpp:47
&gt; &gt; +    String mimeType = extractMIMETypeFromMediaType(response.httpHeaderField(HTTPHeaderName::ContentType));
&gt; &gt; +    return parseContentTypeOptionsHeader(response.httpHeaderField(HTTPHeaderName::XContentTypeOptions)) != ContentTypeOptionsNosniff || MIMETypeRegistry::isSupportedJavaScriptMIMEType(mimeType);
&gt; 
&gt; Seems like this could be broken up a bit. For instance, if
&gt; parseContentTypeOptionsHeader(response.httpHeaderField(HTTPHeaderName::
&gt; XContentTypeOptions)) is true

... is not ContentTypeOptionsNosniff, that is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1304778</commentid>
    <comment_count>6</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-05-04 12:48:05 -0700</bug_when>
    <thetext>(In reply to Andy Estes from comment #4)
&gt; Comment on attachment 309075 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=309075&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/network/ResourceResponseBase.cpp:47
&gt; &gt; +    String mimeType = extractMIMETypeFromMediaType(response.httpHeaderField(HTTPHeaderName::ContentType));
&gt; &gt; +    return parseContentTypeOptionsHeader(response.httpHeaderField(HTTPHeaderName::XContentTypeOptions)) != ContentTypeOptionsNosniff || MIMETypeRegistry::isSupportedJavaScriptMIMEType(mimeType);
&gt; 
&gt; Seems like this could be broken up a bit. For instance, if
&gt; parseContentTypeOptionsHeader(response.httpHeaderField(HTTPHeaderName::
&gt; XContentTypeOptions)) is true then you don&apos;t need to compute the mimeType
&gt; from the ContentType header.

Wow, I need more sleep.

Will update code before landing to implement isScriptAllowedByNosniff() as follows:

bool isScriptAllowedByNosniff(const ResourceResponse&amp; response)
{
    if (parseContentTypeOptionsHeader(response.httpHeaderField(HTTPHeaderName::XContentTypeOptions)) != ContentTypeOptionsNosniff)
        return true;
    String mimeType = extractMIMETypeFromMediaType(response.httpHeaderField(HTTPHeaderName::ContentType));
    return MIMETypeRegistry::isSupportedJavaScriptMIMEType(mimeType);
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1304779</commentid>
    <comment_count>7</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-05-04 12:49:55 -0700</bug_when>
    <thetext>Committed r216199: &lt;http://trac.webkit.org/changeset/216199&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>309075</attachid>
            <date>2017-05-04 11:59:26 -0700</date>
            <delta_ts>2017-05-04 12:02:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171678-20170504115925.patch</filename>
            <type>text/plain</type>
            <size>7999</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE2MTk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2UyOTg5ZWIwOTMzZjA0
OTYyMzk1YmRhNWNkYWQ2ZWE4ZjVmMzE1ZC4uOTUzOTgzNjhhNmMyMmI0MDUxZDE1YWNlODMwMTFk
NzI5NDM2MDVjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMxIEBACiAyMDE3LTA1LTA0ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAorICAgICAgICBDbGVhbnVwOiBFeHRyYWN0
IENhY2hlZFNjcmlwdDo6bWltZVR5cGVBbGxvd2VkQnlOb3NuaWZmKCkgaW50byBhIGNvbW1vbiBm
dW5jdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTcxNjc4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
RXh0cmFjdCBDYWNoZWRTY3JpcHQ6Om1pbWVUeXBlQWxsb3dlZEJ5Tm9zbmlmZigpIGludG8gYSBj
b21tb24gZnVuY3Rpb24gdGhhdCBjYW4KKyAgICAgICAgYmUgc2hhcmVkIGJ5IExvYWRhYmxlQ2xh
c3NpY1NjcmlwdCBhbmQgV29ya2VyU2NyaXB0TG9hZGVyLgorCisgICAgICAgIE5vIGZ1bmN0aW9u
YWxpdHkgd2FzIGNoYW5nZWQuIFNvLCBubyBuZXcgdGVzdHMuCisKKyAgICAgICAgKiBkb20vTG9h
ZGFibGVDbGFzc2ljU2NyaXB0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxvYWRhYmxlQ2xhc3Np
Y1NjcmlwdDo6bm90aWZ5RmluaXNoZWQpOiBNb2RpZmllZCB0byB1c2UgV2ViQ29yZTo6aXNTY3Jp
cHRBbGxvd2VkQnlOb3NuaWZmKCkuCisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFNjcmlw
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRTY3JpcHQ6Om1pbWVUeXBlKTogRGVsZXRl
ZDsgaW5jb3Jwb3JhdGVkIGludG8gV2ViQ29yZTo6aXNTY3JpcHRBbGxvd2VkQnlOb3NuaWZmKCku
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRTY3JpcHQ6Om1pbWVUeXBlQWxsb3dlZEJ5Tm9zbmlm
Zik6IERlbGV0ZWQ7IGluY29ycG9yYXRlZCBpbnRvIFdlYkNvcmU6OmlzU2NyaXB0QWxsb3dlZEJ5
Tm9zbmlmZigpLgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRTY3JpcHQuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OmlzU2NyaXB0QWxsb3dlZEJ5Tm9zbmlmZik6IEFkZGVkLiBOb3RlIHRoYXQgaXQg
aXMgc3VmZmljaWVudCB0byBleHRyYWN0IHRoZSBNSU1FIHR5cGUKKyAgICAgICAgYXMtaXMgYW5k
IHF1ZXJ5IHRoZSBNSU1FIHR5cGUgcmVnaXN0cnkgYmVjYXVzZSB0aGUgTUlNRSB0eXBlIHJlZ2lz
dHJ5IHBlcmZvcm1zIGxvb2sgdXBzIGNhc2UtaW5zZW5zaXRpdmVseS4KKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmg6CisgICAgICAgICogd29ya2Vycy9X
b3JrZXJTY3JpcHRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyU2NyaXB0TG9h
ZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UpOiBNb2RpZmllZCB0byB1c2UgV2ViQ29yZTo6aXNTY3Jp
cHRBbGxvd2VkQnlOb3NuaWZmKCkuCisgICAgICAgIChXZWJDb3JlOjptaW1lVHlwZUFsbG93ZWRC
eU5vc25pZmYpOiBEZWxldGVkLgorCisyMDE3LTA1LTA0ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVz
QGFwcGxlLmNvbT4KKwogICAgICAgICBpbXBvcnRTY3JpcHRzKCkgc2hvdWxkIHJlc3BlY3QgWC1D
b250ZW50LVR5cGUtT3B0aW9uczogbm9zbmlmZgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcxMjQ4CiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMTgx
OTAyMz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZUNsYXNzaWNTY3Jp
cHQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlQ2xhc3NpY1NjcmlwdC5jcHAKaW5k
ZXggOTJlNjc3YzkyZDdhYjM4YmY2NjUxOWVjZGUwODY2OWFlYmU4OWE2NC4uYTdmNDQ1MTUzMzIx
MDAxMTdhNWFhZTFkMmRmOGVkZDZiNzI3MDhlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0xvYWRhYmxlQ2xhc3NpY1NjcmlwdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0xv
YWRhYmxlQ2xhc3NpY1NjcmlwdC5jcHAKQEAgLTg0LDcgKzg0LDcgQEAgdm9pZCBMb2FkYWJsZUNs
YXNzaWNTY3JpcHQ6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlJiByZXNvdXJjZSkKICAg
ICB9CiAKICNpZiBFTkFCTEUoTk9TTklGRikKLSAgICBpZiAoIW1fZXJyb3IgJiYgIW1fY2FjaGVk
U2NyaXB0LT5taW1lVHlwZUFsbG93ZWRCeU5vc25pZmYoKSkgeworICAgIGlmICghbV9lcnJvciAm
JiAhaXNTY3JpcHRBbGxvd2VkQnlOb3NuaWZmKG1fY2FjaGVkU2NyaXB0LT5yZXNwb25zZSgpKSkg
ewogICAgICAgICBtX2Vycm9yID0gRXJyb3IgewogICAgICAgICAgICAgRXJyb3JUeXBlOjpOb3Nu
aWZmLAogICAgICAgICAgICAgQ29uc29sZU1lc3NhZ2UgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNjcmlwdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkU2NyaXB0LmNwcAppbmRleCA4NGRlMzhlYmU2N2I0ODAxYTljODRhMTJi
ZWM0NjZjMzcxYTk1NDhiLi45ODZiMDc5MTFjNzdkOWE4ZjhmZTRhYTQ5YWJmZjliOTQyZDcyZTUy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU2NyaXB0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU2NyaXB0LmNwcApAQCAt
MzAsOSArMzAsNiBAQAogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlQ2xpZW50LmgiCiAjaW5jbHVk
ZSAiQ2FjaGVkUmVzb3VyY2VDbGllbnRXYWxrZXIuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJj
ZVJlcXVlc3QuaCIKLSNpbmNsdWRlICJIVFRQSGVhZGVyTmFtZXMuaCIKLSNpbmNsdWRlICJIVFRQ
UGFyc2Vycy5oIgotI2luY2x1ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKICNpbmNsdWRlICJSdW50
aW1lQXBwbGljYXRpb25DaGVja3MuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKICNpbmNs
dWRlICJUZXh0UmVzb3VyY2VEZWNvZGVyLmgiCkBAIC01OSwxMSArNTYsNiBAQCBTdHJpbmcgQ2Fj
aGVkU2NyaXB0OjplbmNvZGluZygpIGNvbnN0CiAgICAgcmV0dXJuIG1fZGVjb2Rlci0+ZW5jb2Rp
bmcoKS5uYW1lKCk7CiB9CiAKLVN0cmluZyBDYWNoZWRTY3JpcHQ6Om1pbWVUeXBlKCkgY29uc3QK
LXsKLSAgICByZXR1cm4gZXh0cmFjdE1JTUVUeXBlRnJvbU1lZGlhVHlwZShtX3Jlc3BvbnNlLmh0
dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6Q29udGVudFR5cGUpKS5jb252ZXJ0VG9BU0NJ
SUxvd2VyY2FzZSgpOwotfQotCiBTdHJpbmdWaWV3IENhY2hlZFNjcmlwdDo6c2NyaXB0KCkKIHsK
ICAgICBpZiAoIW1fZGF0YSkKQEAgLTEzMiwxMyArMTI0LDYgQEAgdm9pZCBDYWNoZWRTY3JpcHQ6
OnNldEJvZHlEYXRhRnJvbShjb25zdCBDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UpCiAgICAgbV9k
ZWNvZGVyID0gc2NyaXB0Lm1fZGVjb2RlcjsKIH0KIAotI2lmIEVOQUJMRShOT1NOSUZGKQotYm9v
bCBDYWNoZWRTY3JpcHQ6Om1pbWVUeXBlQWxsb3dlZEJ5Tm9zbmlmZigpIGNvbnN0Ci17Ci0gICAg
cmV0dXJuIHBhcnNlQ29udGVudFR5cGVPcHRpb25zSGVhZGVyKG1fcmVzcG9uc2UuaHR0cEhlYWRl
ckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpYQ29udGVudFR5cGVPcHRpb25zKSkgIT0gQ29udGVudFR5
cGVPcHRpb25zTm9zbmlmZiB8fCBNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZEphdmFTY3Jp
cHRNSU1FVHlwZShtaW1lVHlwZSgpKTsKLX0KLSNlbmRpZgotCiBib29sIENhY2hlZFNjcmlwdDo6
c2hvdWxkSWdub3JlSFRUUFN0YXR1c0NvZGVFcnJvcnMoKSBjb25zdAogewogI2lmIFBMQVRGT1JN
KE1BQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTY3Jp
cHQuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTY3JpcHQuaAppbmRleCA3
MzZjNzgwODFkZTEzNGRkZDg5ODMyZTYyNzBjMmQ1ODljMTRjYjdjLi42YmIwZjMxMmYzYzY3OWVl
NjlkYzM4MGYyMTA2YTA5OGQ4N2YyMjZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkU2NyaXB0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFNjcmlwdC5oCkBAIC0zOSwxMyArMzksNyBAQCBwdWJsaWM6CiAgICAgU3RyaW5nVmll
dyBzY3JpcHQoKTsKICAgICB1bnNpZ25lZCBzY3JpcHRIYXNoKCk7CiAKLSNpZiBFTkFCTEUoTk9T
TklGRikKLSAgICBib29sIG1pbWVUeXBlQWxsb3dlZEJ5Tm9zbmlmZigpIGNvbnN0OwotI2VuZGlm
Ci0KIHByaXZhdGU6Ci0gICAgU3RyaW5nIG1pbWVUeXBlKCkgY29uc3Q7Ci0KICAgICBib29sIG1h
eVRyeVJlcGxhY2VFbmNvZGVkRGF0YSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KIAog
ICAgIGJvb2wgc2hvdWxkSWdub3JlSFRUUFN0YXR1c0NvZGVFcnJvcnMoKSBjb25zdCBmaW5hbDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNw
b25zZUJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJl
c3BvbnNlQmFzZS5jcHAKaW5kZXggNDBiOGFkNjgxN2U1ZjFmMzM3Yzg0ZjY2YjRmYmE2YWMwMTBm
ZWE2Ni4uZmI0NmFjMTgyNGQzMjM1ODkwZTUxZDE3ODZlNzNkZTcwMmI5OTU1NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNl
QmFzZS5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJDYWNoZVZhbGlkYXRpb24uaCIK
ICNpbmNsdWRlICJIVFRQSGVhZGVyTmFtZXMuaCIKICNpbmNsdWRlICJIVFRQUGFyc2Vycy5oIgor
I2luY2x1ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKICNpbmNsdWRlICJQYXJzZWRDb250ZW50UmFu
Z2UuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCiAjaW5jbHVkZSA8d3RmL0N1cnJl
bnRUaW1lLmg+CkBAIC0zOSw2ICs0MCwxNCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKyNp
ZiBFTkFCTEUoTk9TTklGRikKK2Jvb2wgaXNTY3JpcHRBbGxvd2VkQnlOb3NuaWZmKGNvbnN0IFJl
c291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQoreworICAgIFN0cmluZyBtaW1lVHlwZSA9IGV4dHJh
Y3RNSU1FVHlwZUZyb21NZWRpYVR5cGUocmVzcG9uc2UuaHR0cEhlYWRlckZpZWxkKEhUVFBIZWFk
ZXJOYW1lOjpDb250ZW50VHlwZSkpOworICAgIHJldHVybiBwYXJzZUNvbnRlbnRUeXBlT3B0aW9u
c0hlYWRlcihyZXNwb25zZS5odHRwSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OlhDb250ZW50
VHlwZU9wdGlvbnMpKSAhPSBDb250ZW50VHlwZU9wdGlvbnNOb3NuaWZmIHx8IE1JTUVUeXBlUmVn
aXN0cnk6OmlzU3VwcG9ydGVkSmF2YVNjcmlwdE1JTUVUeXBlKG1pbWVUeXBlKTsKK30KKyNlbmRp
ZgorCiBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6UmVzb3VyY2VSZXNwb25zZUJhc2UoKQogICAgIDog
bV9pc051bGwodHJ1ZSkKICAgICAsIG1fZXhwZWN0ZWRDb250ZW50TGVuZ3RoKDApCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNl
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNl
LmgKaW5kZXggOGIwZmQ1OTQ3ZGY4Mjk4YTFhMDA3ZWZjMTJiNWFhNjQ3NDVjNGI5Mi4uNDNlMWM0
YTgyMGI5MzZlZmNkMWEzMzU2MDE3YTBhODBlYzFjNDlmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaApAQCAtMzgs
NiArMzgsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNl
OwogCisjaWYgRU5BQkxFKE5PU05JRkYpCitib29sIGlzU2NyaXB0QWxsb3dlZEJ5Tm9zbmlmZihj
b25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CisjZW5kaWYKKwogLy8gRG8gbm90IHVzZSB0aGlzIGNs
YXNzIGRpcmVjdGx5LCB1c2UgdGhlIGNsYXNzIFJlc3BvbnNlUmVzcG9uc2UgaW5zdGVhZAogY2xh
c3MgUmVzb3VyY2VSZXNwb25zZUJhc2UgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCmluZGV4IDRk
YWJhYmRhNDE5NWMxNDA1OWExOTk2YTAyM2NkYTQ3MTczYTIyZDMuLjBiYjMxNzA3OGY4YjQ4N2I2
NWY5ODI5OGJjMjYzZTVkNDQ1YWZhNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlclNjcmlwdExvYWRlci5jcHAKQEAgLTI4LDggKzI4LDYgQEAKICNpbmNsdWRlICJXb3JrZXJT
Y3JpcHRMb2FkZXIuaCIKIAogI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeS5oIgotI2lu
Y2x1ZGUgIkhUVFBQYXJzZXJzLmgiCi0jaW5jbHVkZSAiTUlNRVR5cGVSZWdpc3RyeS5oIgogI2lu
Y2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250
ZXh0LmgiCiAjaW5jbHVkZSAiVGV4dFJlc291cmNlRGVjb2Rlci5oIgpAQCAtMTEzLDE0ICsxMTEs
NiBAQCBzdGQ6OnVuaXF1ZV9wdHI8UmVzb3VyY2VSZXF1ZXN0PiBXb3JrZXJTY3JpcHRMb2FkZXI6
OmNyZWF0ZVJlc291cmNlUmVxdWVzdChjb25zdAogICAgIHJldHVybiByZXF1ZXN0OwogfQogCi0j
aWYgRU5BQkxFKE5PU05JRkYpCi1zdGF0aWMgYm9vbCBtaW1lVHlwZUFsbG93ZWRCeU5vc25pZmYo
Y29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCi17Ci0gICAgU3RyaW5nIG1pbWVUeXBl
ID0gZXh0cmFjdE1JTUVUeXBlRnJvbU1lZGlhVHlwZShyZXNwb25zZS5odHRwSGVhZGVyRmllbGQo
SFRUUEhlYWRlck5hbWU6OkNvbnRlbnRUeXBlKSk7Ci0gICAgcmV0dXJuIHBhcnNlQ29udGVudFR5
cGVPcHRpb25zSGVhZGVyKHJlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6
WENvbnRlbnRUeXBlT3B0aW9ucykpICE9IENvbnRlbnRUeXBlT3B0aW9uc05vc25pZmYgfHwgTUlN
RVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRKYXZhU2NyaXB0TUlNRVR5cGUobWltZVR5cGUpOwot
fQotI2VuZGlmCi0KIHZvaWQgV29ya2VyU2NyaXB0TG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2Uo
dW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25z
ZSkKIHsKICAgICBpZiAocmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSAvIDEwMCAhPSAyICYmIHJl
c3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkpIHsKQEAgLTEyOSw3ICsxMTksNyBAQCB2b2lkIFdvcmtl
clNjcmlwdExvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmll
ciwgY29uc3QgUmVzbwogICAgIH0KIAogI2lmIEVOQUJMRShOT1NOSUZGKQotICAgIGlmICghbWlt
ZVR5cGVBbGxvd2VkQnlOb3NuaWZmKHJlc3BvbnNlKSkgeworICAgIGlmICghaXNTY3JpcHRBbGxv
d2VkQnlOb3NuaWZmKHJlc3BvbnNlKSkgewogICAgICAgICBtX2ZhaWxlZCA9IHRydWU7CiAgICAg
ICAgIHJldHVybjsKICAgICB9Cg==
</data>
<flag name="review"
          id="330232"
          type_id="1"
          status="+"
          setter="aestes"
    />
          </attachment>
      

    </bug>

</bugzilla>