<?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>43714</bug_id>
          
          <creation_ts>2010-08-09 02:21:59 -0700</creation_ts>
          <short_desc>Move filehandling into fileLoadTimer callback</short_desc>
          <delta_ts>2010-08-23 15:12:40 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</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>
          
          <blocked>43712</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Patrick R. Gansterer">paroga</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aroben</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>jhoneycutt</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>262039</commentid>
    <comment_count>0</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2010-08-09 02:21:59 -0700</bug_when>
    <thetext>see patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>262058</commentid>
    <comment_count>1</comment_count>
      <attachid>63879</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2010-08-09 03:19:24 -0700</bug_when>
    <thetext>Created attachment 63879
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265096</commentid>
    <comment_count>2</comment_count>
      <attachid>63879</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-08-16 07:39:20 -0700</bug_when>
    <thetext>Comment on attachment 63879
Patch

&gt; -void ResourceHandle::fileLoadTimer(Timer&lt;ResourceHandle&gt;* timer)
&gt; +void ResourceHandle::fileLoadTimer(Timer&lt;ResourceHandle&gt;*)
&gt;  {
&gt; +    String path = firstRequest().url().path();
&gt; +    // Windows does not enjoy a leading slash on paths.
&gt; +    if (path[0] == &apos;/&apos;)
&gt; +        path = path.substring(1);
&gt; +
&gt; +    int queryPos = path.find(&apos;?&apos;);
&gt; +    if (queryPos != -1)
&gt; +        path.remove(queryPos);

I&apos;m surprised that KURL::path would return a string that contains a query component. That seems like a bad bug. Is that really happening?

It seems like it would be better to use KURL::fileSystemPath anyway.

&gt; +    if (fileHandle == INVALID_HANDLE_VALUE) {
&gt; +        client()-&gt;didFail(this, ResourceError());
&gt; +        deref();
&gt; +        return;
&gt; +    }

Where is the ref() that this deref() is balancing? I don&apos;t see it in this patch. Was it a bug that we weren&apos;t dereffing before? We usually include a comment at both the ref() and deref() callsites mentioning where the balancing call is.

&gt; +    int dotPos = path.reverseFind(&apos;.&apos;);
&gt; +    int slashPos = path.reverseFind(&apos;/&apos;);
&gt; +
&gt; +    if (slashPos &lt; dotPos &amp;&amp; dotPos != -1) {
&gt; +        String ext = path.substring(dotPos + 1);
&gt; +        response.setMimeType(MIMETypeRegistry::getMIMETypeForExtension(ext));
&gt; +    }

This code seems entirely new and doesn&apos;t match the ChangeLog (which claims this patch just moves code).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265100</commentid>
    <comment_count>3</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2010-08-16 07:50:18 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 63879 [details])
&gt; &gt; -void ResourceHandle::fileLoadTimer(Timer&lt;ResourceHandle&gt;* timer)
&gt; &gt; +void ResourceHandle::fileLoadTimer(Timer&lt;ResourceHandle&gt;*)
&gt; &gt;  {
&gt; &gt; +    String path = firstRequest().url().path();
&gt; &gt; +    // Windows does not enjoy a leading slash on paths.
&gt; &gt; +    if (path[0] == &apos;/&apos;)
&gt; &gt; +        path = path.substring(1);
&gt; &gt; +
&gt; &gt; +    int queryPos = path.find(&apos;?&apos;);
&gt; &gt; +    if (queryPos != -1)
&gt; &gt; +        path.remove(queryPos);
&gt; 
&gt; I&apos;m surprised that KURL::path would return a string that contains a query component. That seems like a bad bug. Is that really happening?
I had this problem at least once, so i added this.

&gt; It seems like it would be better to use KURL::fileSystemPath anyway.
Didn&apos;t see that function. ;-)

&gt; 
&gt; &gt; +    if (fileHandle == INVALID_HANDLE_VALUE) {
&gt; &gt; +        client()-&gt;didFail(this, ResourceError());
&gt; &gt; +        deref();
&gt; &gt; +        return;
&gt; &gt; +    }
&gt; 
&gt; Where is the ref() that this deref() is balancing? I don&apos;t see it in this patch. Was it a bug that we weren&apos;t dereffing before? We usually include a comment at both the ref() and deref() callsites mentioning where the balancing call is.
The ref() is directly at the start(). At the moment the ResourceHandleWin does a &quot;delete this&quot;!!! I&apos;ll add comments.

&gt; 
&gt; &gt; +    int dotPos = path.reverseFind(&apos;.&apos;);
&gt; &gt; +    int slashPos = path.reverseFind(&apos;/&apos;);
&gt; &gt; +
&gt; &gt; +    if (slashPos &lt; dotPos &amp;&amp; dotPos != -1) {
&gt; &gt; +        String ext = path.substring(dotPos + 1);
&gt; &gt; +        response.setMimeType(MIMETypeRegistry::getMIMETypeForExtension(ext));
&gt; &gt; +    }
&gt; 
&gt; This code seems entirely new and doesn&apos;t match the ChangeLog (which claims this patch just moves code).
Ok, I&apos;ll update the ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267936</commentid>
    <comment_count>4</comment_count>
      <attachid>65126</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2010-08-23 09:04:05 -0700</bug_when>
    <thetext>Created attachment 65126
Patch

The comment for the ref() will be included in a further patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267953</commentid>
    <comment_count>5</comment_count>
      <attachid>65126</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-08-23 09:31:56 -0700</bug_when>
    <thetext>Comment on attachment 65126
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>268121</commentid>
    <comment_count>6</comment_count>
      <attachid>65126</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-08-23 15:12:35 -0700</bug_when>
    <thetext>Comment on attachment 65126
Patch

Clearing flags on attachment: 65126

Committed r65835: &lt;http://trac.webkit.org/changeset/65835&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>268122</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-08-23 15:12:40 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63879</attachid>
            <date>2010-08-09 03:19:24 -0700</date>
            <delta_ts>2010-08-23 09:04:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43714.patch</filename>
            <type>text/plain</type>
            <size>4533</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NDk3MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTAtMDgtMDkgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHBh
cm9nYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgTW92ZSBmaWxlaGFuZGxpbmcgaW50byBmaWxlTG9hZFRpbWVyIGNhbGxiYWNrCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MzcxNAorCisgICAgICAg
ICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmg6CisgICAgICAgIChX
ZWJDb3JlOjpSZXNvdXJjZUhhbmRsZUludGVybmFsOjpSZXNvdXJjZUhhbmRsZUludGVybmFsKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3dpbi9SZXNvdXJjZUhhbmRsZVdpbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6c3RhcnQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVzb3VyY2VIYW5kbGU6OmZpbGVMb2FkVGltZXIpOgorCiAyMDEwLTA4LTA5ICBGcmFuw6dv
aXMgU2F1c3NldCAgPHNhdXNzZXRAZ21haWwuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtl
bm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCShyZXZpc2lvbiA2NDY4NykKKysrIFdl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTkyLDcgKzkyLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAg
LCBtX2Nvbm5lY3Rpb24oMCkKICNlbmRpZgogI2lmIFVTRShXSU5JTkVUKQotICAgICAgICAgICAg
LCBtX2ZpbGVIYW5kbGUoSU5WQUxJRF9IQU5ETEVfVkFMVUUpCiAgICAgICAgICAgICAsIG1fZmls
ZUxvYWRUaW1lcihsb2FkZXIsICZSZXNvdXJjZUhhbmRsZTo6ZmlsZUxvYWRUaW1lcikKICAgICAg
ICAgICAgICwgbV9yZXNvdXJjZUhhbmRsZSgwKQogICAgICAgICAgICAgLCBtX3NlY29uZGFyeUhh
bmRsZSgwKQpAQCAtMTcwLDcgKzE2OSw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
Ym9vbCBtX25lZWRzU2l0ZVNwZWNpZmljUXVpcmtzOwogI2VuZGlmCiAjaWYgVVNFKFdJTklORVQp
Ci0gICAgICAgIEhBTkRMRSBtX2ZpbGVIYW5kbGU7CiAgICAgICAgIFRpbWVyPFJlc291cmNlSGFu
ZGxlPiBtX2ZpbGVMb2FkVGltZXI7CiAgICAgICAgIEhJTlRFUk5FVCBtX3Jlc291cmNlSGFuZGxl
OwogICAgICAgICBISU5URVJORVQgbV9zZWNvbmRhcnlIYW5kbGU7CkluZGV4OiBXZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2luLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2luLmNwcAkocmV2aXNp
b24gNjQ2ODcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2luL1Jlc291cmNlSGFuZGxl
V2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMzLDIwICszMzMsNiBAQCBib29sIFJlc291cmNl
SGFuZGxlOjpzdGFydChGcmFtZSogZnJhbWUpCiB7CiAgICAgcmVmKCk7CiAgICAgaWYgKHJlcXVl
c3QoKS51cmwoKS5pc0xvY2FsRmlsZSgpKSB7Ci0gICAgICAgIFN0cmluZyBwYXRoID0gcmVxdWVz
dCgpLnVybCgpLnBhdGgoKTsKLSAgICAgICAgLy8gd2luZG93cyBkb2VzIG5vdCBlbmpveSBhIGxl
YWRpbmcgc2xhc2ggb24gcGF0aHMKLSAgICAgICAgaWYgKHBhdGhbMF0gPT0gJy8nKQotICAgICAg
ICAgICAgcGF0aCA9IHBhdGguc3Vic3RyaW5nKDEpOwotICAgICAgICAvLyBGSVhNRTogVGhpcyBp
cyB3cm9uZy4gTmVlZCB0byB1c2Ugd2lkZSB2ZXJzaW9uIG9mIHRoaXMgY2FsbC4KLSAgICAgICAg
ZC0+bV9maWxlSGFuZGxlID0gQ3JlYXRlRmlsZUEocGF0aC51dGY4KCkuZGF0YSgpLCBHRU5FUklD
X1JFQUQsIDAsIE5VTEwsIE9QRU5fRVhJU1RJTkcsIEZJTEVfQVRUUklCVVRFX05PUk1BTCwgTlVM
TCk7Ci0KLSAgICAgICAgLy8gRklYTUU6IHBlcmhhcHMgdGhpcyBlcnJvciBzaG91bGQgYmUgcmVw
b3J0ZWQgYXN5bmNocm9ub3VzbHkgZm9yCi0gICAgICAgIC8vIGNvbnNpc3RlbmN5LgotICAgICAg
ICBpZiAoZC0+bV9maWxlSGFuZGxlID09IElOVkFMSURfSEFORExFX1ZBTFVFKSB7Ci0gICAgICAg
ICAgICBkZWxldGUgdGhpczsKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQot
CiAgICAgICAgIGQtPm1fZmlsZUxvYWRUaW1lci5zdGFydE9uZVNob3QoMC4wKTsKICAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgfSBlbHNlIHsKQEAgLTQwOSw5ICszOTUsMzUgQEAgYm9vbCBSZXNv
dXJjZUhhbmRsZTo6c3RhcnQoRnJhbWUqIGZyYW1lKQogICAgIH0KIH0KIAotdm9pZCBSZXNvdXJj
ZUhhbmRsZTo6ZmlsZUxvYWRUaW1lcihUaW1lcjxSZXNvdXJjZUhhbmRsZT4qIHRpbWVyKQordm9p
ZCBSZXNvdXJjZUhhbmRsZTo6ZmlsZUxvYWRUaW1lcihUaW1lcjxSZXNvdXJjZUhhbmRsZT4qKQog
eworICAgIFN0cmluZyBwYXRoID0gZmlyc3RSZXF1ZXN0KCkudXJsKCkucGF0aCgpOworICAgIC8v
IFdpbmRvd3MgZG9lcyBub3QgZW5qb3kgYSBsZWFkaW5nIHNsYXNoIG9uIHBhdGhzLgorICAgIGlm
IChwYXRoWzBdID09ICcvJykKKyAgICAgICAgcGF0aCA9IHBhdGguc3Vic3RyaW5nKDEpOworCisg
ICAgaW50IHF1ZXJ5UG9zID0gcGF0aC5maW5kKCc/Jyk7CisgICAgaWYgKHF1ZXJ5UG9zICE9IC0x
KQorICAgICAgICBwYXRoLnJlbW92ZShxdWVyeVBvcyk7CisKKyAgICBIQU5ETEUgZmlsZUhhbmRs
ZSA9IENyZWF0ZUZpbGVXKHBhdGguY2hhcmFjdGVyc1dpdGhOdWxsVGVybWluYXRpb24oKSwgR0VO
RVJJQ19SRUFELCAwLCAwLCBPUEVOX0VYSVNUSU5HLCBGSUxFX0FUVFJJQlVURV9OT1JNQUwsIDAp
OworCisgICAgaWYgKGZpbGVIYW5kbGUgPT0gSU5WQUxJRF9IQU5ETEVfVkFMVUUpIHsKKyAgICAg
ICAgY2xpZW50KCktPmRpZEZhaWwodGhpcywgUmVzb3VyY2VFcnJvcigpKTsKKyAgICAgICAgZGVy
ZWYoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIFJlc291cmNlUmVzcG9uc2UgcmVz
cG9uc2U7CisKKyAgICBpbnQgZG90UG9zID0gcGF0aC5yZXZlcnNlRmluZCgnLicpOworICAgIGlu
dCBzbGFzaFBvcyA9IHBhdGgucmV2ZXJzZUZpbmQoJy8nKTsKKworICAgIGlmIChzbGFzaFBvcyA8
IGRvdFBvcyAmJiBkb3RQb3MgIT0gLTEpIHsKKyAgICAgICAgU3RyaW5nIGV4dCA9IHBhdGguc3Vi
c3RyaW5nKGRvdFBvcyArIDEpOworICAgICAgICByZXNwb25zZS5zZXRNaW1lVHlwZShNSU1FVHlw
ZVJlZ2lzdHJ5OjpnZXRNSU1FVHlwZUZvckV4dGVuc2lvbihleHQpKTsKKyAgICB9CisKICAgICBj
bGllbnQoKS0+ZGlkUmVjZWl2ZVJlc3BvbnNlKHRoaXMsIHJlc3BvbnNlKTsKIAogICAgIGJvb2wg
cmVzdWx0ID0gZmFsc2U7CkBAIC00MjAsMTggKzQzMiwxNiBAQCB2b2lkIFJlc291cmNlSGFuZGxl
OjpmaWxlTG9hZFRpbWVyKFRpbWVyCiAgICAgZG8gewogICAgICAgICBjb25zdCBpbnQgYnVmZmVy
U2l6ZSA9IDgxOTI7CiAgICAgICAgIGNoYXIgYnVmZmVyW2J1ZmZlclNpemVdOwotICAgICAgICBy
ZXN1bHQgPSBSZWFkRmlsZShkLT5tX2ZpbGVIYW5kbGUsICZidWZmZXIsIGJ1ZmZlclNpemUsICZi
eXRlc1JlYWQsIE5VTEwpOyAKKyAgICAgICAgcmVzdWx0ID0gUmVhZEZpbGUoZmlsZUhhbmRsZSwg
JmJ1ZmZlciwgYnVmZmVyU2l6ZSwgJmJ5dGVzUmVhZCwgMCk7CiAgICAgICAgIGlmIChyZXN1bHQg
JiYgYnl0ZXNSZWFkKQogICAgICAgICAgICAgY2xpZW50KCktPmRpZFJlY2VpdmVEYXRhKHRoaXMs
IGJ1ZmZlciwgYnl0ZXNSZWFkLCAwKTsKLSAgICAgICAgLy8gQ2hlY2sgZm9yIGVuZCBvZiBmaWxl
LiAKKyAgICAgICAgLy8gQ2hlY2sgZm9yIGVuZCBvZiBmaWxlLgogICAgIH0gd2hpbGUgKHJlc3Vs
dCAmJiBieXRlc1JlYWQpOwogCi0gICAgLy8gRklYTUU6IGhhbmRsZSBlcnJvcnMgYmV0dGVyCi0K
LSAgICBDbG9zZUhhbmRsZShkLT5tX2ZpbGVIYW5kbGUpOwotICAgIGQtPm1fZmlsZUhhbmRsZSA9
IElOVkFMSURfSEFORExFX1ZBTFVFOworICAgIENsb3NlSGFuZGxlKGZpbGVIYW5kbGUpOwogCiAg
ICAgY2xpZW50KCktPmRpZEZpbmlzaExvYWRpbmcodGhpcyk7CisgICAgZGVyZWYoKTsKIH0KIAog
dm9pZCBSZXNvdXJjZUhhbmRsZTo6Y2FuY2VsKCkK
</data>
<flag name="review"
          id="52308"
          type_id="1"
          status="-"
          setter="aroben"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>65126</attachid>
            <date>2010-08-23 09:04:05 -0700</date>
            <delta_ts>2010-08-23 15:12:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43714b.patch</filename>
            <type>text/plain</type>
            <size>4727</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NDk3MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMTAtMDgtMDkgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHBh
cm9nYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgTW92ZSBmaWxlaGFuZGxpbmcgaW50byBmaWxlTG9hZFRpbWVyIGNhbGxiYWNrCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MzcxNAorCisgICAgICAg
IEFsc28gYWRkIG1pbWV0eXBlIGRldGVjdGlvbiBmb3IgbG9jYWwgZmlsZXMuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlc291cmNlSGFuZGxlSW50ZXJuYWw6OlJlc291cmNlSGFuZGxlSW50ZXJuYWwpOgor
ICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2luLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpzdGFydCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZXNvdXJjZUhhbmRsZTo6ZmlsZUxvYWRUaW1lcik6CisKIDIwMTAtMDgtMDkgIEZyYW7Dp29p
cyBTYXVzc2V0ICA8c2F1c3NldEBnbWFpbC5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2Vu
bmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgJKHJldmlzaW9uIDY0Njg3KQorKysgV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaAkod29ya2luZyBj
b3B5KQpAQCAtOTIsNyArOTIsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICAs
IG1fY29ubmVjdGlvbigwKQogI2VuZGlmCiAjaWYgVVNFKFdJTklORVQpCi0gICAgICAgICAgICAs
IG1fZmlsZUhhbmRsZShJTlZBTElEX0hBTkRMRV9WQUxVRSkKICAgICAgICAgICAgICwgbV9maWxl
TG9hZFRpbWVyKGxvYWRlciwgJlJlc291cmNlSGFuZGxlOjpmaWxlTG9hZFRpbWVyKQogICAgICAg
ICAgICAgLCBtX3Jlc291cmNlSGFuZGxlKDApCiAgICAgICAgICAgICAsIG1fc2Vjb25kYXJ5SGFu
ZGxlKDApCkBAIC0xNzAsNyArMTY5LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBi
b29sIG1fbmVlZHNTaXRlU3BlY2lmaWNRdWlya3M7CiAjZW5kaWYKICNpZiBVU0UoV0lOSU5FVCkK
LSAgICAgICAgSEFORExFIG1fZmlsZUhhbmRsZTsKICAgICAgICAgVGltZXI8UmVzb3VyY2VIYW5k
bGU+IG1fZmlsZUxvYWRUaW1lcjsKICAgICAgICAgSElOVEVSTkVUIG1fcmVzb3VyY2VIYW5kbGU7
CiAgICAgICAgIEhJTlRFUk5FVCBtX3NlY29uZGFyeUhhbmRsZTsKSW5kZXg6IFdlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwCShyZXZpc2lv
biA2NDY4NykKKysrIFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVX
aW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAo
QykgMjAwNCwgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxMCBQYXRyaWNrIEdhbnN0ZXJlciA8cGFyb2dhQHBhcm9nYS5j
b20+CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMzMywyMCArMzM0LDYgQEAg
Ym9vbCBSZXNvdXJjZUhhbmRsZTo6c3RhcnQoRnJhbWUqIGZyYW1lKQogewogICAgIHJlZigpOwog
ICAgIGlmIChyZXF1ZXN0KCkudXJsKCkuaXNMb2NhbEZpbGUoKSkgewotICAgICAgICBTdHJpbmcg
cGF0aCA9IHJlcXVlc3QoKS51cmwoKS5wYXRoKCk7Ci0gICAgICAgIC8vIHdpbmRvd3MgZG9lcyBu
b3QgZW5qb3kgYSBsZWFkaW5nIHNsYXNoIG9uIHBhdGhzCi0gICAgICAgIGlmIChwYXRoWzBdID09
ICcvJykKLSAgICAgICAgICAgIHBhdGggPSBwYXRoLnN1YnN0cmluZygxKTsKLSAgICAgICAgLy8g
RklYTUU6IFRoaXMgaXMgd3JvbmcuIE5lZWQgdG8gdXNlIHdpZGUgdmVyc2lvbiBvZiB0aGlzIGNh
bGwuCi0gICAgICAgIGQtPm1fZmlsZUhhbmRsZSA9IENyZWF0ZUZpbGVBKHBhdGgudXRmOCgpLmRh
dGEoKSwgR0VORVJJQ19SRUFELCAwLCBOVUxMLCBPUEVOX0VYSVNUSU5HLCBGSUxFX0FUVFJJQlVU
RV9OT1JNQUwsIE5VTEwpOwotCi0gICAgICAgIC8vIEZJWE1FOiBwZXJoYXBzIHRoaXMgZXJyb3Ig
c2hvdWxkIGJlIHJlcG9ydGVkIGFzeW5jaHJvbm91c2x5IGZvcgotICAgICAgICAvLyBjb25zaXN0
ZW5jeS4KLSAgICAgICAgaWYgKGQtPm1fZmlsZUhhbmRsZSA9PSBJTlZBTElEX0hBTkRMRV9WQUxV
RSkgewotICAgICAgICAgICAgZGVsZXRlIHRoaXM7Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgICAgIH0KLQogICAgICAgICBkLT5tX2ZpbGVMb2FkVGltZXIuc3RhcnRPbmVTaG90KDAu
MCk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0gZWxzZSB7CkBAIC00MDksOSArMzk2LDI5
IEBAIGJvb2wgUmVzb3VyY2VIYW5kbGU6OnN0YXJ0KEZyYW1lKiBmcmFtZSkKICAgICB9CiB9CiAK
LXZvaWQgUmVzb3VyY2VIYW5kbGU6OmZpbGVMb2FkVGltZXIoVGltZXI8UmVzb3VyY2VIYW5kbGU+
KiB0aW1lcikKK3ZvaWQgUmVzb3VyY2VIYW5kbGU6OmZpbGVMb2FkVGltZXIoVGltZXI8UmVzb3Vy
Y2VIYW5kbGU+KikKIHsKKyAgICBSZWZQdHI8UmVzb3VyY2VIYW5kbGU+IHByb3RlY3Rvcih0aGlz
KTsKKyAgICBkZXJlZigpOyAvLyBiYWxhbmNlcyByZWYgaW4gc3RhcnQKKworICAgIFN0cmluZyBm
aWxlTmFtZSA9IGZpcnN0UmVxdWVzdCgpLnVybCgpLmZpbGVTeXN0ZW1QYXRoKCk7CisgICAgSEFO
RExFIGZpbGVIYW5kbGUgPSBDcmVhdGVGaWxlVyhmaWxlTmFtZS5jaGFyYWN0ZXJzV2l0aE51bGxU
ZXJtaW5hdGlvbigpLCBHRU5FUklDX1JFQUQsIDAsIDAsIE9QRU5fRVhJU1RJTkcsIEZJTEVfQVRU
UklCVVRFX05PUk1BTCwgMCk7CisKKyAgICBpZiAoZmlsZUhhbmRsZSA9PSBJTlZBTElEX0hBTkRM
RV9WQUxVRSkgeworICAgICAgICBjbGllbnQoKS0+ZGlkRmFpbCh0aGlzLCBSZXNvdXJjZUVycm9y
KCkpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgUmVzb3VyY2VSZXNwb25zZSByZXNw
b25zZTsKKworICAgIGludCBkb3RQb3MgPSBmaWxlTmFtZS5yZXZlcnNlRmluZCgnLicpOworICAg
IGludCBzbGFzaFBvcyA9IGZpbGVOYW1lLnJldmVyc2VGaW5kKCcvJyk7CisKKyAgICBpZiAoc2xh
c2hQb3MgPCBkb3RQb3MgJiYgZG90UG9zICE9IC0xKSB7CisgICAgICAgIFN0cmluZyBleHQgPSBm
aWxlTmFtZS5zdWJzdHJpbmcoZG90UG9zICsgMSk7CisgICAgICAgIHJlc3BvbnNlLnNldE1pbWVU
eXBlKE1JTUVUeXBlUmVnaXN0cnk6OmdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKGV4dCkpOworICAg
IH0KKwogICAgIGNsaWVudCgpLT5kaWRSZWNlaXZlUmVzcG9uc2UodGhpcywgcmVzcG9uc2UpOwog
CiAgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKQEAgLTQyMCwxNyArNDI3LDE0IEBAIHZvaWQgUmVz
b3VyY2VIYW5kbGU6OmZpbGVMb2FkVGltZXIoVGltZXIKICAgICBkbyB7CiAgICAgICAgIGNvbnN0
IGludCBidWZmZXJTaXplID0gODE5MjsKICAgICAgICAgY2hhciBidWZmZXJbYnVmZmVyU2l6ZV07
Ci0gICAgICAgIHJlc3VsdCA9IFJlYWRGaWxlKGQtPm1fZmlsZUhhbmRsZSwgJmJ1ZmZlciwgYnVm
ZmVyU2l6ZSwgJmJ5dGVzUmVhZCwgTlVMTCk7IAorICAgICAgICByZXN1bHQgPSBSZWFkRmlsZShm
aWxlSGFuZGxlLCAmYnVmZmVyLCBidWZmZXJTaXplLCAmYnl0ZXNSZWFkLCAwKTsKICAgICAgICAg
aWYgKHJlc3VsdCAmJiBieXRlc1JlYWQpCiAgICAgICAgICAgICBjbGllbnQoKS0+ZGlkUmVjZWl2
ZURhdGEodGhpcywgYnVmZmVyLCBieXRlc1JlYWQsIDApOwotICAgICAgICAvLyBDaGVjayBmb3Ig
ZW5kIG9mIGZpbGUuIAorICAgICAgICAvLyBDaGVjayBmb3IgZW5kIG9mIGZpbGUuCiAgICAgfSB3
aGlsZSAocmVzdWx0ICYmIGJ5dGVzUmVhZCk7CiAKLSAgICAvLyBGSVhNRTogaGFuZGxlIGVycm9y
cyBiZXR0ZXIKKyAgICBDbG9zZUhhbmRsZShmaWxlSGFuZGxlKTsKIAotICAgIENsb3NlSGFuZGxl
KGQtPm1fZmlsZUhhbmRsZSk7Ci0gICAgZC0+bV9maWxlSGFuZGxlID0gSU5WQUxJRF9IQU5ETEVf
VkFMVUU7Ci0KICAgICBjbGllbnQoKS0+ZGlkRmluaXNoTG9hZGluZyh0aGlzKTsKIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>