<?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>113542</bug_id>
          
          <creation_ts>2013-03-28 15:50:04 -0700</creation_ts>
          <short_desc>Resources are never revalidated/reloaded if a cached response exists on disk.</short_desc>
          <delta_ts>2013-03-28 16:09:15 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>865874</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-03-28 15:50:04 -0700</bug_when>
    <thetext>Resources are never revalidated if a cached response exists on disk.

The &quot;try to get an mmap handle to a cached response on disk&quot; code happened in didReceiveResponse which short circuited any chance of a new load actually happening.

That&apos;s crazy.  It should happen in didReceiveData once the new load starts filtering in.  That is the point where we can say for sure whether we&apos;re seeing cached data or receiving new data.

In radar as &lt;rdar://problem/13479890&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>865879</commentid>
    <comment_count>1</comment_count>
      <attachid>195665</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-03-28 15:59:06 -0700</bug_when>
    <thetext>Created attachment 195665
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>865885</commentid>
    <comment_count>2</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-03-28 16:07:42 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/147179</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>865886</commentid>
    <comment_count>3</comment_count>
      <attachid>195665</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2013-03-28 16:08:37 -0700</bug_when>
    <thetext>Comment on attachment 195665
Patch v1

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

&gt; Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp:227
&gt; +        // Since we&apos;re delivering this resource by ourselves all at once, we&apos;ll abort the resource handle since we don&apos;t need anymore callbacks from ResourceHandle.

any more, not anymore

&gt; Source/WebKit2/NetworkProcess/mac/NetworkResourceLoaderMac.mm:47
&gt; +    typedef CFDataRef (*functionType)(CFCachedURLResponseRef);
&gt; +    static functionType softGetMemMappedData = (functionType) dlsym(CFNetworkLibrary(), &quot;_CFCachedURLResponseGetMemMappedData&quot;);

Can&apos;t you use SOFT_LINK_OPTIONAL()?

&gt; Source/WebKit2/NetworkProcess/mac/NetworkResourceLoaderMac.mm:57
&gt; +    typedef CFBooleanRef (*functionType)(CFURLCacheRef cache, CFDataRef data);
&gt; +    static functionType softLinkIsCacheMMAPedData = (functionType) dlsym(CFNetworkLibrary(), &quot;_CFURLCacheIsResponseDataMemMapped&quot;);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>865887</commentid>
    <comment_count>4</comment_count>
      <attachid>195665</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-03-28 16:09:15 -0700</bug_when>
    <thetext>Comment on attachment 195665
Patch v1

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

&gt;&gt; Source/WebKit2/NetworkProcess/mac/NetworkResourceLoaderMac.mm:57
&gt;&gt; +static bool CFURLCacheIsMemMappedData(CFURLCacheRef cache, CFDataRef data)
&gt;&gt; +{
&gt;&gt; +    typedef CFBooleanRef (*functionType)(CFURLCacheRef cache, CFDataRef data);
&gt;&gt; +    static functionType softLinkIsCacheMMAPedData = (functionType) dlsym(CFNetworkLibrary(), &quot;_CFURLCacheIsResponseDataMemMapped&quot;);
&gt; 
&gt; Ditto.

It&apos;s weird to me that we&apos;re wrapping this function and stealing their prefix but not using the same exact name.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>195665</attachid>
            <date>2013-03-28 15:59:06 -0700</date>
            <delta_ts>2013-03-28 16:09:15 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>9671</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA1OTE5MWQxLi44MDFmYmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzIg
QEAKIDIwMTMtMDMtMjggIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCisgICAg
ICAgIFJlc291cmNlcyBhcmUgbmV2ZXIgcmV2YWxpZGF0ZWQvcmVsb2FkZWQgaWYgYSBjYWNoZWQg
cmVzcG9uc2UgZXhpc3RzIG9uIGRpc2suCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMzQ3OTg5
MD4gYW5kIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTM1NDIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUcnlpbmcgdG8g
Z2V0IGEgY2FjaGVkIHJlc291cmNlIGluIGRpZFJlY2VpdmVSZXNwb25zZSBhbmQgdGhlbiBhYm9y
dGluZyB0aGUgbG9hZAorICAgICAgICBtZWFudCB3ZSBuZXZlciBwZXJmb3JtZWQgYW55IG5ldyBs
b2Fkcy4KKworICAgICAgICBXZSBjYW4gY2hlY2sgYW5kIHNlZSBpZiB0aGUgZGF0YSBpcyBjYWNo
ZWQgZGF0YSBpbnNpZGUgZGlkUmVjZWl2ZUJ1ZmZlciwgaW5zdGVhZC4KKworICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJLaXQ6
Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKTogRG9uJ3QgdHJ5IGZv
ciBjYWNoZWQgcmVzb3VyY2VzIGhlcmUuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSZXNvdXJj
ZUxvYWRlcjo6ZGlkUmVjZWl2ZURhdGEpOiBUaGlzIGNhbGxiYWNrIHNob3VsZCBuZXZlciBiZSB1
c2VkLgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVC
dWZmZXIpOiBUcnkgdG8gc2VlIGlmIHRoaXMgZGF0YSBvYmplY3RlZCByZXByZXNlbnRzCisgICAg
ICAgICAgYSBmaWxlIGJhc2VkIG1tYXBlZCBidWZmZXIuCisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmg6CisKKyAgICAgICAgUmVmYWN0b3IgdGhlc2UgdXRp
bGl0eSBmdW5jdGlvbnMgdG8gc3RhcnQgZnJvbSBlaXRoZXIgYSBDRlVSTENhY2hlZFJlc3BvbnNl
IG9yIGEgU2hhcmVkQnVmZmVyOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3Jr
UmVzb3VyY2VMb2FkZXJNYWMubW06CisgICAgICAgIChDRkNhY2hlZFVSTFJlc3BvbnNlR2V0TWVt
TWFwcGVkRGF0YSk6CisgICAgICAgIChDRlVSTENhY2hlSXNNZW1NYXBwZWREYXRhKToKKyAgICAg
ICAgKFdlYktpdDo6dHJ5R2V0U2hhcmVhYmxlSGFuZGxlRnJvbUNGRGF0YSk6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6dHJ5R2V0U2hhcmVhYmxlSGFuZGxlRnJvbUNG
VVJMQ2FjaGVkUmVzcG9uc2UpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2Fk
ZXI6OnRyeUdldFNoYXJlYWJsZUhhbmRsZUZyb21TaGFyZWRCdWZmZXIpOgorCisyMDEzLTAzLTI4
ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKwogICAgICAgICBSZWR1Y2UgUGx1
Z2luUHJvY2VzcyBsaWZldGltZS4KICAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEyNDY1NDc5PiBh
bmQgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMzUyMwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2Fk
ZXIuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9h
ZGVyLmNwcAppbmRleCA4MjFiN2ExLi45N2NiMmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTIwMywz
MCArMjAzLDM1IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9u
c2UoUmVzb3VyY2VIYW5kbGUqLCBjb25zdCBSZXNvdXJjZVJlCiAgICAgaWYgKEZvcm1EYXRhKiBm
b3JtRGF0YSA9IHJlcXVlc3QoKS5odHRwQm9keSgpKQogICAgICAgICBmb3JtRGF0YS0+cmVtb3Zl
R2VuZXJhdGVkRmlsZXNJZk5lZWRlZCgpOwogCi0gICAgaWYgKCFzZW5kQWJvcnRpbmdPbkZhaWx1
cmUoTWVzc2FnZXM6OldlYlJlc291cmNlTG9hZGVyOjpEaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2Vy
dGlmaWNhdGVJbmZvKHJlc3BvbnNlLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhyZXNwb25zZSkp
KSkKLSAgICAgICAgcmV0dXJuOwotCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMDkwCi0gICAgU2hhcmVhYmxlUmVzb3VyY2U6OkhhbmRsZSBoYW5kbGU7Ci0gICAgdHJ5
R2V0U2hhcmVhYmxlSGFuZGxlRm9yUmVzb3VyY2UoaGFuZGxlKTsKLSAgICBpZiAoaGFuZGxlLmlz
TnVsbCgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICAvLyBTaW5jZSB3ZSdyZSBkZWxpdmVyaW5n
IHRoaXMgcmVzb3VyY2UgYnkgb3Vyc2VsdmVzIGFsbCBhdCBvbmNlLCB3ZSdsbCBhYm9ydCB0aGUg
cmVzb3VyY2UgaGFuZGxlIHNpbmNlIHdlIGRvbid0IG5lZWQgYW55bW9yZSBjYWxsYmFja3MgZnJv
bSBSZXNvdXJjZUhhbmRsZS4KLSAgICBhYm9ydEluUHJvZ3Jlc3NMb2FkKCk7Ci0gICAgCi0gICAg
c2VuZChNZXNzYWdlczo6V2ViUmVzb3VyY2VMb2FkZXI6OkRpZFJlY2VpdmVSZXNvdXJjZShoYW5k
bGUsIGN1cnJlbnRUaW1lKCkpKTsKLSNlbmRpZiAvLyBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDEwOTAKKyAgICBzZW5kQWJvcnRpbmdPbkZhaWx1cmUoTWVzc2FnZXM6OldlYlJl
c291cmNlTG9hZGVyOjpEaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKHJlc3Bv
bnNlLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhyZXNwb25zZSkpKTsKIH0KIAogdm9pZCBOZXR3
b3JrUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVEYXRhKFJlc291cmNlSGFuZGxlKiwgY29uc3Qg
Y2hhciogZGF0YSwgaW50IGxlbmd0aCwgaW50IGVuY29kZWREYXRhTGVuZ3RoKQogeworICAgIC8v
IFRoZSBOZXR3b3JrUHJvY2VzcyBzaG91bGQgbmV2ZXIgZ2V0IGEgZGlkUmVjZWl2ZURhdGEgY2Fs
bGJhY2suCisgICAgLy8gV2Ugc2hvdWxkIGFsd2F5cyBiZSB1c2luZyBkaWRSZWNlaXZlQnVmZmVy
LgorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCit2b2lkIE5ldHdvcmtSZXNvdXJjZUxv
YWRlcjo6ZGlkUmVjZWl2ZUJ1ZmZlcihXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZSosIFBhc3NSZWZQ
dHI8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiBidWZmZXIsIGludCBlbmNvZGVkRGF0YUxlbmd0aCkK
K3sKICAgICAvLyBGSVhNRSAoTmV0d29ya1Byb2Nlc3MpOiBGb3IgdGhlIG1lbW9yeSBjYWNoZSB3
ZSdsbCBhbHNvIG5lZWQgdG8gY2FjaGUgdGhlIHJlc3BvbnNlIGRhdGEgaGVyZS4KICAgICAvLyBT
dWNoIGJ1ZmZlcmluZyB3aWxsIG5lZWQgdG8gYmUgdGhyZWFkIHNhZmUsIGFzIHRoaXMgY2FsbGJh
Y2sgaXMgaGFwcGVuaW5nIG9uIGEgYmFja2dyb3VuZCB0aHJlYWQuCiAgICAgCi0gICAgbV9ieXRl
c1JlY2VpdmVkICs9IGxlbmd0aDsKKyAgICBtX2J5dGVzUmVjZWl2ZWQgKz0gYnVmZmVyLT5zaXpl
KCk7CisgICAgCisjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDkwCisg
ICAgU2hhcmVhYmxlUmVzb3VyY2U6OkhhbmRsZSBoYW5kbGU7CisgICAgdHJ5R2V0U2hhcmVhYmxl
SGFuZGxlRnJvbVNoYXJlZEJ1ZmZlcihoYW5kbGUsIGJ1ZmZlci5nZXQoKSk7CisgICAgaWYgKCFo
YW5kbGUuaXNOdWxsKCkpIHsKKyAgICAgICAgLy8gU2luY2Ugd2UncmUgZGVsaXZlcmluZyB0aGlz
IHJlc291cmNlIGJ5IG91cnNlbHZlcyBhbGwgYXQgb25jZSwgd2UnbGwgYWJvcnQgdGhlIHJlc291
cmNlIGhhbmRsZSBzaW5jZSB3ZSBkb24ndCBuZWVkIGFueW1vcmUgY2FsbGJhY2tzIGZyb20gUmVz
b3VyY2VIYW5kbGUuCisgICAgICAgIGFib3J0SW5Qcm9ncmVzc0xvYWQoKTsKKyAgICAgICAgc2Vu
ZChNZXNzYWdlczo6V2ViUmVzb3VyY2VMb2FkZXI6OkRpZFJlY2VpdmVSZXNvdXJjZShoYW5kbGUs
IGN1cnJlbnRUaW1lKCkpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRpZiAvLyBfX01B
Q19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwOTAKIAotICAgIENvcmVJUEM6OkRhdGFS
ZWZlcmVuY2UgZGF0YVJlZmVyZW5jZShyZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3QqPihk
YXRhKSwgbGVuZ3RoKTsKKyAgICBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGFSZWZlcmVuY2Uo
cmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4oYnVmZmVyLT5kYXRhKCkpLCBidWZmZXIt
PnNpemUoKSk7CiAgICAgc2VuZEFib3J0aW5nT25GYWlsdXJlKE1lc3NhZ2VzOjpXZWJSZXNvdXJj
ZUxvYWRlcjo6RGlkUmVjZWl2ZURhdGEoZGF0YVJlZmVyZW5jZSwgZW5jb2RlZERhdGFMZW5ndGgp
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Jlc291cmNlTG9hZGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UmVzb3VyY2VMb2FkZXIuaAppbmRleCBlODIzNzI2Li5hYzZlZDI2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuaApAQCAt
NjksNiArNjksNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZFNlbmREYXRhKFdlYkNv
cmU6OlJlc291cmNlSGFuZGxlKiwgdW5zaWduZWQgbG9uZyBsb25nIGJ5dGVzU2VudCwgdW5zaWdu
ZWQgbG9uZyBsb25nIHRvdGFsQnl0ZXNUb0JlU2VudCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2
b2lkIGRpZFJlY2VpdmVSZXNwb25zZShXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZSosIGNvbnN0IFdl
YkNvcmU6OlJlc291cmNlUmVzcG9uc2UmKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgZGlk
UmVjZWl2ZURhdGEoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGUqLCBjb25zdCBjaGFyKiwgaW50LCBp
bnQgZW5jb2RlZERhdGFMZW5ndGgpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNl
aXZlQnVmZmVyKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlKiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpT
aGFyZWRCdWZmZXI+LCBpbnQgZW5jb2RlZERhdGFMZW5ndGgpIE9WRVJSSURFOwogICAgIHZpcnR1
YWwgdm9pZCBkaWRSZWNlaXZlQ2FjaGVkTWV0YWRhdGEoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGUq
LCBjb25zdCBjaGFyKiwgaW50KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNo
TG9hZGluZyhXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZSosIGRvdWJsZSBmaW5pc2hUaW1lKSBPVkVS
UklERTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRmFpbChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZSos
IGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKSBPVkVSUklERTsKQEAgLTEyOCw3ICsxMjks
NyBAQCBwcml2YXRlOgogICAgIHVpbnQ2NF90IG1fYnl0ZXNSZWNlaXZlZDsKIAogI2lmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTA5MAotICAgIHZvaWQgdHJ5R2V0U2hhcmVh
YmxlSGFuZGxlRm9yUmVzb3VyY2UoU2hhcmVhYmxlUmVzb3VyY2U6OkhhbmRsZSYpOworICAgIHN0
YXRpYyB2b2lkIHRyeUdldFNoYXJlYWJsZUhhbmRsZUZyb21TaGFyZWRCdWZmZXIoU2hhcmVhYmxl
UmVzb3VyY2U6OkhhbmRsZSYsIFdlYkNvcmU6OlNoYXJlZEJ1ZmZlciopOwogI2VuZGlmCiB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Jl
c291cmNlTG9hZGVyTWFjLm1tIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05l
dHdvcmtSZXNvdXJjZUxvYWRlck1hYy5tbQppbmRleCAxY2IyYTFkLi40M2YwYzg2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Jlc291cmNlTG9h
ZGVyTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3Jr
UmVzb3VyY2VMb2FkZXJNYWMubW0KQEAgLTI5LDYgKzI5LDcgQEAKICNpbXBvcnQgIkRpc2tDYWNo
ZU1vbml0b3IuaCIKICNpbXBvcnQgIlNoYXJlYWJsZVJlc291cmNlLmgiCiAjaW1wb3J0IDxXZWJD
b3JlL1Jlc291cmNlSGFuZGxlLmg+CisjaW1wb3J0IDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5oPgog
I2ltcG9ydCA8V2ViQ29yZS9Tb2Z0TGlua2luZy5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKQEAgLTQyLDEyICs0MywyMyBAQCBleHRlcm4gIkMiIENGQ2FjaGVkVVJMUmVzcG9uc2VSZWYg
Q0ZVUkxDYWNoZUNvcHlSZXNwb25zZUZvclJlcXVlc3QoQ0ZVUkxDYWNoZVJlZgogU09GVF9MSU5L
X0ZSQU1FV09SSyhDRk5ldHdvcmspCiBzdGF0aWMgQ0ZEYXRhUmVmIENGQ2FjaGVkVVJMUmVzcG9u
c2VHZXRNZW1NYXBwZWREYXRhKENGQ2FjaGVkVVJMUmVzcG9uc2VSZWYgcmVzcG9uc2UpCiB7Ci0g
ICAgc3RhdGljIENGRGF0YVJlZiAoKnNvZnRHZXRNZW1NYXBwZWREYXRhKShDRkNhY2hlZFVSTFJl
c3BvbnNlUmVmKSA9IChDRkRhdGFSZWYgKCopKENGQ2FjaGVkVVJMUmVzcG9uc2VSZWYpKSBkbHN5
bShDRk5ldHdvcmtMaWJyYXJ5KCksICJfQ0ZDYWNoZWRVUkxSZXNwb25zZUdldE1lbU1hcHBlZERh
dGEiKTsKKyAgICB0eXBlZGVmIENGRGF0YVJlZiAoKmZ1bmN0aW9uVHlwZSkoQ0ZDYWNoZWRVUkxS
ZXNwb25zZVJlZik7CisgICAgc3RhdGljIGZ1bmN0aW9uVHlwZSBzb2Z0R2V0TWVtTWFwcGVkRGF0
YSA9IChmdW5jdGlvblR5cGUpIGRsc3ltKENGTmV0d29ya0xpYnJhcnkoKSwgIl9DRkNhY2hlZFVS
TFJlc3BvbnNlR2V0TWVtTWFwcGVkRGF0YSIpOwogICAgIAogICAgIGlmIChzb2Z0R2V0TWVtTWFw
cGVkRGF0YSkKICAgICAgICAgcmV0dXJuIHNvZnRHZXRNZW1NYXBwZWREYXRhKHJlc3BvbnNlKTsK
ICAgICByZXR1cm4gTlVMTDsKIH0KKworc3RhdGljIGJvb2wgQ0ZVUkxDYWNoZUlzTWVtTWFwcGVk
RGF0YShDRlVSTENhY2hlUmVmIGNhY2hlLCBDRkRhdGFSZWYgZGF0YSkKK3sKKyAgICB0eXBlZGVm
IENGQm9vbGVhblJlZiAoKmZ1bmN0aW9uVHlwZSkoQ0ZVUkxDYWNoZVJlZiBjYWNoZSwgQ0ZEYXRh
UmVmIGRhdGEpOworICAgIHN0YXRpYyBmdW5jdGlvblR5cGUgc29mdExpbmtJc0NhY2hlTU1BUGVk
RGF0YSA9IChmdW5jdGlvblR5cGUpIGRsc3ltKENGTmV0d29ya0xpYnJhcnkoKSwgIl9DRlVSTENh
Y2hlSXNSZXNwb25zZURhdGFNZW1NYXBwZWQiKTsKKyAgIAorICAgIGlmIChzb2Z0TGlua0lzQ2Fj
aGVNTUFQZWREYXRhKQorICAgICAgICByZXR1cm4gc29mdExpbmtJc0NhY2hlTU1BUGVkRGF0YShj
YWNoZSwgZGF0YSkgPT0ga0NGQm9vbGVhblRydWU7CisgICAgcmV0dXJuIGZhbHNlOworfQogI2Vu
ZGlmCiAKIEBpbnRlcmZhY2UgTlNDYWNoZWRVUkxSZXNwb25zZSAoTlNDYWNoZWRVUkxSZXNwb25z
ZURldGFpbHMpCkBAIC01NywxMCArNjksOSBAQCBAZW5kCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAog
I2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTA5MAotdm9pZCBOZXR3b3Jr
UmVzb3VyY2VMb2FkZXI6OnRyeUdldFNoYXJlYWJsZUhhbmRsZUZyb21DRlVSTENhY2hlZFJlc3Bv
bnNlKFNoYXJlYWJsZVJlc291cmNlOjpIYW5kbGUmIGhhbmRsZSwgQ0ZDYWNoZWRVUkxSZXNwb25z
ZVJlZiBjYWNoZWRSZXNwb25zZSkKLXsKLSAgICBDRkRhdGFSZWYgZGF0YSA9IENGQ2FjaGVkVVJM
UmVzcG9uc2VHZXRNZW1NYXBwZWREYXRhKGNhY2hlZFJlc3BvbnNlKTsKIAorc3RhdGljIHZvaWQg
dHJ5R2V0U2hhcmVhYmxlSGFuZGxlRnJvbUNGRGF0YShTaGFyZWFibGVSZXNvdXJjZTo6SGFuZGxl
JiBoYW5kbGUsIENGRGF0YVJlZiBkYXRhKQorewogICAgIGlmICghZGF0YSB8fCBDRkRhdGFHZXRM
ZW5ndGgoZGF0YSkgPCAoQ0ZJbmRleClOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmZpbGVCYWNrZWRS
ZXNvdXJjZU1pbmltdW1TaXplKCkpCiAgICAgICAgIHJldHVybjsKIApAQCAtNzUsMTkgKzg2LDI0
IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjp0cnlHZXRTaGFyZWFibGVIYW5kbGVGcm9t
Q0ZVUkxDYWNoZWRSZXNwb25zZShTaGFyZWFiCiAgICAgcmVzb3VyY2UtPmNyZWF0ZUhhbmRsZSho
YW5kbGUpOwogfQogCi12b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6dHJ5R2V0U2hhcmVhYmxl
SGFuZGxlRm9yUmVzb3VyY2UoU2hhcmVhYmxlUmVzb3VyY2U6OkhhbmRsZSYgaGFuZGxlKQordm9p
ZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnRyeUdldFNoYXJlYWJsZUhhbmRsZUZyb21DRlVSTENh
Y2hlZFJlc3BvbnNlKFNoYXJlYWJsZVJlc291cmNlOjpIYW5kbGUmIGhhbmRsZSwgQ0ZDYWNoZWRV
UkxSZXNwb25zZVJlZiBjYWNoZWRSZXNwb25zZSkKK3sKKyAgICBDRkRhdGFSZWYgZGF0YSA9IENG
Q2FjaGVkVVJMUmVzcG9uc2VHZXRNZW1NYXBwZWREYXRhKGNhY2hlZFJlc3BvbnNlKTsKKworICAg
IHRyeUdldFNoYXJlYWJsZUhhbmRsZUZyb21DRkRhdGEoaGFuZGxlLCBkYXRhKTsKK30KKwordm9p
ZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnRyeUdldFNoYXJlYWJsZUhhbmRsZUZyb21TaGFyZWRC
dWZmZXIoU2hhcmVhYmxlUmVzb3VyY2U6OkhhbmRsZSYgaGFuZGxlLCBTaGFyZWRCdWZmZXIqIGJ1
ZmZlcikKIHsKLSAgICAvLyBDaGVjayB0aGUgY2FjaGUgdG8gc2VlIGlmIHdlIGNhbiB2bV9jb3B5
IGEgZmlsZXN5c3RlbS1iYWNrZWQgcmVzb3VyY2UgYnVmZmVyLgogICAgIFJldGFpblB0cjxDRlVS
TENhY2hlUmVmPiBjYWNoZSA9IGFkb3B0Q0YoQ0ZVUkxDYWNoZUNvcHlTaGFyZWRVUkxDYWNoZSgp
KTsKICAgICBpZiAoIWNhY2hlKQogICAgICAgICByZXR1cm47CiAKLSAgICBDRlVSTFJlcXVlc3RS
ZWYgY2ZSZXF1ZXN0ID0gcmVxdWVzdCgpLmNmVVJMUmVxdWVzdChEb05vdFVwZGF0ZUhUVFBCb2R5
KTsKLSAgICBSZXRhaW5QdHI8Q0ZDYWNoZWRVUkxSZXNwb25zZVJlZj4gY2FjaGVkUmVzcG9uc2Ug
PSBhZG9wdENGKENGVVJMQ2FjaGVDb3B5UmVzcG9uc2VGb3JSZXF1ZXN0KGNhY2hlLmdldCgpLCBj
ZlJlcXVlc3QpKTsKLSAgICBpZiAoIWNhY2hlZFJlc3BvbnNlKQorICAgIFJldGFpblB0cjxDRkRh
dGFSZWY+IGRhdGEgPSBhZG9wdENGKGJ1ZmZlci0+Y3JlYXRlQ0ZEYXRhKCkpOworICAgIGlmICgh
Q0ZVUkxDYWNoZUlzTWVtTWFwcGVkRGF0YShjYWNoZS5nZXQoKSwgZGF0YS5nZXQoKSkpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIHRyeUdldFNoYXJlYWJsZUhhbmRsZUZyb21DRlVSTENhY2hlZFJl
c3BvbnNlKGhhbmRsZSwgY2FjaGVkUmVzcG9uc2UuZ2V0KCkpOworICAgIHRyeUdldFNoYXJlYWJs
ZUhhbmRsZUZyb21DRkRhdGEoaGFuZGxlLCBkYXRhLmdldCgpKTsKIH0KICNlbmRpZiAvLyBfX01B
Q19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwOTAKIAo=
</data>
<flag name="review"
          id="217591"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>