<?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>133069</bug_id>
          
          <creation_ts>2014-05-19 07:05:35 -0700</creation_ts>
          <short_desc>[Curl] Invalid content in cache file, causes broken rendering.</short_desc>
          <delta_ts>2014-05-20 10:02:23 -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>528+ (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>Curl</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>peavo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>alex.christensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>galpeter</cc>
    
    <cc>mmatyas</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1010179</commentid>
    <comment_count>0</comment_count>
    <who name="">peavo</who>
    <bug_when>2014-05-19 07:05:35 -0700</bug_when>
    <thetext>When data for a url is received as multiple parts, the cache file for the url is truncated when opened for writing, and will only contain the last part of data received.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1010182</commentid>
    <comment_count>1</comment_count>
      <attachid>231688</attachid>
    <who name="">peavo</who>
    <bug_when>2014-05-19 07:16:34 -0700</bug_when>
    <thetext>Created attachment 231688
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1010202</commentid>
    <comment_count>2</comment_count>
      <attachid>231688</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-05-19 09:11:41 -0700</bug_when>
    <thetext>Comment on attachment 231688
Patch

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

r-: Please adjust a few functions for early return! :-)

&gt; Source/WebCore/platform/network/curl/CurlCacheEntry.cpp:365
&gt; +    if (m_contentFile == invalidPlatformFileHandle) {

We prefer this as an early return:  &quot;if (m_contentFile != invalidPlatformFileHandle) \r return true;&quot;

&gt; Source/WebCore/platform/network/curl/CurlCacheEntry.cpp:366
&gt; +        m_contentFile = openFile(m_contentFilename, OpenForWrite);

I was very surprised to see that we don&apos;t have an &quot;OpenForWrite&quot; style that does not concatenate the file!

&gt; Source/WebCore/platform/network/curl/CurlCacheEntry.cpp:367
&gt; +        if (!isHandleValid(m_contentFile)) {

Again, we prefer to exit early if possible in tests like this.

&gt; Source/WebCore/platform/network/curl/CurlCacheEntry.cpp:377
&gt; +    if (m_contentFile != invalidPlatformFileHandle) {

Early return please.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1010205</commentid>
    <comment_count>3</comment_count>
      <attachid>231694</attachid>
    <who name="">peavo</who>
    <bug_when>2014-05-19 09:38:59 -0700</bug_when>
    <thetext>Created attachment 231694
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1010206</commentid>
    <comment_count>4</comment_count>
    <who name="">peavo</who>
    <bug_when>2014-05-19 09:40:26 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 231688 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=231688&amp;action=review
&gt; 

Thanks for reviewing :) Updated patch.

&gt; 
&gt; I was very surprised to see that we don&apos;t have an &quot;OpenForWrite&quot; style that does not concatenate the file!

Mee to :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1010516</commentid>
    <comment_count>5</comment_count>
      <attachid>231694</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-05-20 09:30:11 -0700</bug_when>
    <thetext>Comment on attachment 231694
Patch

Thanks for revising!  r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1010534</commentid>
    <comment_count>6</comment_count>
      <attachid>231694</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-05-20 10:02:20 -0700</bug_when>
    <thetext>Comment on attachment 231694
Patch

Clearing flags on attachment: 231694

Committed r169115: &lt;http://trac.webkit.org/changeset/169115&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1010535</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-05-20 10:02:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>231688</attachid>
            <date>2014-05-19 07:16:34 -0700</date>
            <delta_ts>2014-05-19 09:38:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133069-20140519161607.patch</filename>
            <type>text/plain</type>
            <size>5093</size>
            <attacher>peavo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2OTA0MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDE0LTA1LTE5ICBwZWF2b0Bv
dXRsb29rLmNvbSAgPHBlYXZvQG91dGxvb2suY29tPgorCisgICAgICAgIFtDdXJsXSBJbnZhbGlk
IGNvbnRlbnQgaW4gY2FjaGUgZmlsZSwgY2F1c2VzIGJyb2tlbiByZW5kZXJpbmcuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzMwNjkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIGRhdGEgZm9yIGEg
dXJsIGlzIHJlY2VpdmVkIGFzIG11bHRpcGxlIHBhcnRzLCB0aGUgY2FjaGUgZmlsZSBmb3IgdGhl
IHVybCBpcyB0cnVuY2F0ZWQgd2hlbiBvcGVuZWQgZm9yIHdyaXRpbmcsCisgICAgICAgIGFuZCB3
aWxsIG9ubHkgY29udGFpbiB0aGUgbGFzdCBwYXJ0IG9mIGRhdGEgcmVjZWl2ZWQuCisgICAgICAg
IFRoaXMgaXMgZml4ZWQgYnkgb25seSBvcGVuaW5nIHRoZSBmaWxlIG9uY2UsIGFuZCBjbG9zZSBp
dCBhZnRlciBhbGwgZGF0YSBoYXMgYmVlbiByZWNlaXZlZC4KKworICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvY3VybC9DdXJsQ2FjaGVFbnRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDdXJs
Q2FjaGVFbnRyeTo6Q3VybENhY2hlRW50cnkpOiBJbml0aWFsaXplIGNhY2hlIGZpbGUgaGFuZGxl
IG1lbWJlci4KKyAgICAgICAgKFdlYkNvcmU6OkN1cmxDYWNoZUVudHJ5Ojp+Q3VybENhY2hlRW50
cnkpOiBDbG9zZSBjYWNoZSBmaWxlLgorICAgICAgICAoV2ViQ29yZTo6Q3VybENhY2hlRW50cnk6
OnNhdmVDYWNoZWREYXRhKTogT25seSBvcGVuIGNhY2hlIGZpbGUgb25jZSB0byBhdm9pZCB0cnVu
Y2F0aW5nLgorICAgICAgICAoV2ViQ29yZTo6Q3VybENhY2hlRW50cnk6OmRpZEZhaWwpOiBDbG9z
ZSBjYWNoZSBmaWxlLgorICAgICAgICAoV2ViQ29yZTo6Q3VybENhY2hlRW50cnk6OmRpZEZpbmlz
aExvYWRpbmcpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkN1cmxDYWNoZUVudHJ5OjpvcGVu
Q29udGVudEZpbGUpOiBBZGRlZCBtZXRob2QgdG8gb3BlbiBjYWNoZSBmaWxlLgorICAgICAgICAo
V2ViQ29yZTo6Q3VybENhY2hlRW50cnk6OmNsb3NlQ29udGVudEZpbGUpOiBBZGRlZCBtZXRob2Qg
dG8gY2xvc2UgY2FjaGUgZmlsZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3Vy
bENhY2hlRW50cnkuaDogQWRkZWQgZmlsZSBoYW5kbGUgbWVtYmVyLCBhbmQgbWV0aG9kcyB0byBv
cGVuIGFuZCBjbG9zZSBjYWNoZSBmaWxlLgorCiAyMDE0LTA1LTE5ICBBbnR0aSBLb2l2aXN0byAg
PGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggYXNzZXJ0aW9uIGZhaWx1cmUgd2l0aCBz
aW1wbGUgbGluZSBsYXlvdXQgZGVidWcgYm9yZGVycyBlbmFibGVkLgpJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxDYWNoZUVudHJ5LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybENhY2hlRW50cnku
Y3BwCShyZXZpc2lvbiAxNjg5MDMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L2N1cmwvQ3VybENhY2hlRW50cnkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw2IEBA
CiAKICNpbmNsdWRlICJDdXJsQ2FjaGVFbnRyeS5oIgogCi0jaW5jbHVkZSAiRmlsZVN5c3RlbS5o
IgogI2luY2x1ZGUgIkhUVFBIZWFkZXJNYXAuaCIKICNpbmNsdWRlICJIVFRQUGFyc2Vycy5oIgog
I2luY2x1ZGUgIkxvZ2dpbmcuaCIKQEAgLTQ5LDYgKzQ4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogQ3VybENhY2hlRW50cnk6OkN1cmxDYWNoZUVudHJ5KGNvbnN0IFN0cmluZyYgdXJsLCBjb25z
dCBTdHJpbmcmIGNhY2hlRGlyKQogICAgIDogbV9oZWFkZXJGaWxlbmFtZShjYWNoZURpcikKICAg
ICAsIG1fY29udGVudEZpbGVuYW1lKGNhY2hlRGlyKQorICAgICwgbV9jb250ZW50RmlsZShpbnZh
bGlkUGxhdGZvcm1GaWxlSGFuZGxlKQogICAgICwgbV9lbnRyeVNpemUoMCkKICAgICAsIG1fZXhw
aXJlRGF0ZSgtMSkKICAgICAsIG1faGVhZGVyUGFyc2VkKGZhbHNlKQpAQCAtNjQsNiArNjQsNyBA
QCBDdXJsQ2FjaGVFbnRyeTo6Q3VybENhY2hlRW50cnkoY29uc3QgU3RyCiAKIEN1cmxDYWNoZUVu
dHJ5Ojp+Q3VybENhY2hlRW50cnkoKQogeworICAgIGNsb3NlQ29udGVudEZpbGUoKTsKIH0KIAog
Ly8gQ2FjaGUgbWFuYWdlciBzaG91bGQgaW52YWxpZGF0ZSB0aGUgZW50cnkgb24gZmFsc2UKQEAg
LTkwLDE2ICs5MSwxMiBAQCBib29sIEN1cmxDYWNoZUVudHJ5Ojppc0NhY2hlZCgpCiAKIGJvb2wg
Q3VybENhY2hlRW50cnk6OnNhdmVDYWNoZWREYXRhKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBz
aXplKQogewotICAgIFBsYXRmb3JtRmlsZUhhbmRsZSBjb250ZW50RmlsZSA9IG9wZW5GaWxlKG1f
Y29udGVudEZpbGVuYW1lLCBPcGVuRm9yV3JpdGUpOwotICAgIGlmICghaXNIYW5kbGVWYWxpZChj
b250ZW50RmlsZSkpIHsKLSAgICAgICAgTE9HKE5ldHdvcmssICJDYWNoZSBFcnJvcjogQ291bGQg
bm90IG9wZW4gJXMgZm9yIHdyaXRlXG4iLCBtX2NvbnRlbnRGaWxlbmFtZS5sYXRpbjEoKS5kYXRh
KCkpOworICAgIGlmICghb3BlbkNvbnRlbnRGaWxlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
LSAgICB9CiAKICAgICAvLyBBcHBlbmQKLSAgICBzZWVrRmlsZShjb250ZW50RmlsZSwgMCwgU2Vl
a0Zyb21FbmQpOwotICAgIHdyaXRlVG9GaWxlKGNvbnRlbnRGaWxlLCBkYXRhLCBzaXplKTsKLSAg
ICBjbG9zZUZpbGUoY29udGVudEZpbGUpOworICAgIHdyaXRlVG9GaWxlKG1fY29udGVudEZpbGUs
IGRhdGEsIHNpemUpOworCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKQEAgLTE5NSwxMSArMTkyLDEy
IEBAIHZvaWQgQ3VybENhY2hlRW50cnk6OnNldFJlc3BvbnNlRnJvbUNhY2gKIHZvaWQgQ3VybENh
Y2hlRW50cnk6OmRpZEZhaWwoKQogewogICAgIC8vIFRoZSBjYWNoZSBtYW5hZ2VyIHdpbGwgY2Fs
bCBpbnZhbGlkYXRlKCkKKyAgICBjbG9zZUNvbnRlbnRGaWxlKCk7CiB9CiAKIHZvaWQgQ3VybENh
Y2hlRW50cnk6OmRpZEZpbmlzaExvYWRpbmcoKQogewotICAgIC8vIE5vdGhpbmcgdG8gZG8gaGVy
ZSB5ZXQKKyAgICBjbG9zZUNvbnRlbnRGaWxlKCk7CiB9CiAKIHZvaWQgQ3VybENhY2hlRW50cnk6
OmdlbmVyYXRlQmFzZUZpbGVuYW1lKGNvbnN0IENTdHJpbmcmIHVybCkKQEAgLTM2MSw2ICszNTks
MjggQEAgc2l6ZV90IEN1cmxDYWNoZUVudHJ5OjplbnRyeVNpemUoKQogICAgIHJldHVybiBtX2Vu
dHJ5U2l6ZTsKIH0KIAorCitib29sIEN1cmxDYWNoZUVudHJ5OjpvcGVuQ29udGVudEZpbGUoKQor
eworICAgIGlmIChtX2NvbnRlbnRGaWxlID09IGludmFsaWRQbGF0Zm9ybUZpbGVIYW5kbGUpIHsK
KyAgICAgICAgbV9jb250ZW50RmlsZSA9IG9wZW5GaWxlKG1fY29udGVudEZpbGVuYW1lLCBPcGVu
Rm9yV3JpdGUpOworICAgICAgICBpZiAoIWlzSGFuZGxlVmFsaWQobV9jb250ZW50RmlsZSkpIHsK
KyAgICAgICAgICAgIExPRyhOZXR3b3JrLCAiQ2FjaGUgRXJyb3I6IENvdWxkIG5vdCBvcGVuICVz
IGZvciB3cml0ZVxuIiwgbV9jb250ZW50RmlsZW5hbWUubGF0aW4xKCkuZGF0YSgpKTsKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gdHJ1ZTsK
K30KKworYm9vbCBDdXJsQ2FjaGVFbnRyeTo6Y2xvc2VDb250ZW50RmlsZSgpCit7CisgICAgaWYg
KG1fY29udGVudEZpbGUgIT0gaW52YWxpZFBsYXRmb3JtRmlsZUhhbmRsZSkgeworICAgICAgICBj
bG9zZUZpbGUobV9jb250ZW50RmlsZSk7CisgICAgICAgIG1fY29udGVudEZpbGUgPSBpbnZhbGlk
UGxhdGZvcm1GaWxlSGFuZGxlOworICAgIH0KKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogfQogCiAj
ZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsQ2Fj
aGVFbnRyeS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
Y3VybC9DdXJsQ2FjaGVFbnRyeS5oCShyZXZpc2lvbiAxNjg5MDMpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybENhY2hlRW50cnkuaAkod29ya2luZyBjb3B5KQpA
QCAtMjcsNiArMjcsNyBAQAogI2lmbmRlZiBDdXJsQ2FjaGVFbnRyeV9oCiAjZGVmaW5lIEN1cmxD
YWNoZUVudHJ5X2gKIAorI2luY2x1ZGUgIkZpbGVTeXN0ZW0uaCIKICNpbmNsdWRlICJIVFRQSGVh
ZGVyTWFwLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRlICJSZXNvdXJj
ZVJlcXVlc3QuaCIKQEAgLTY0LDYgKzY1LDggQEAgcHJpdmF0ZToKICAgICBTdHJpbmcgbV9oZWFk
ZXJGaWxlbmFtZTsKICAgICBTdHJpbmcgbV9jb250ZW50RmlsZW5hbWU7CiAKKyAgICBQbGF0Zm9y
bUZpbGVIYW5kbGUgbV9jb250ZW50RmlsZTsKKwogICAgIHNpemVfdCBtX2VudHJ5U2l6ZTsKICAg
ICBkb3VibGUgbV9leHBpcmVEYXRlOwogICAgIGJvb2wgbV9oZWFkZXJQYXJzZWQ7CkBAIC03NCw2
ICs3Nyw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBnZW5lcmF0ZUJhc2VGaWxlbmFtZShjb25zdCBD
U3RyaW5nJiB1cmwpOwogICAgIGJvb2wgbG9hZEZpbGVUb0J1ZmZlcihjb25zdCBTdHJpbmcmIGZp
bGVwYXRoLCBWZWN0b3I8Y2hhcj4mIGJ1ZmZlcik7CiAgICAgYm9vbCBsb2FkUmVzcG9uc2VIZWFk
ZXJzKCk7CisKKyAgICBib29sIG9wZW5Db250ZW50RmlsZSgpOworICAgIGJvb2wgY2xvc2VDb250
ZW50RmlsZSgpOwogfTsKIAogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>231694</attachid>
            <date>2014-05-19 09:38:59 -0700</date>
            <delta_ts>2014-05-20 10:02:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133069-20140519183832.patch</filename>
            <type>text/plain</type>
            <size>5068</size>
            <attacher>peavo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2OTA0MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDE0LTA1LTE5ICBwZWF2b0Bv
dXRsb29rLmNvbSAgPHBlYXZvQG91dGxvb2suY29tPgorCisgICAgICAgIFtDdXJsXSBJbnZhbGlk
IGNvbnRlbnQgaW4gY2FjaGUgZmlsZSwgY2F1c2VzIGJyb2tlbiByZW5kZXJpbmcuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzMwNjkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIGRhdGEgZm9yIGEg
dXJsIGlzIHJlY2VpdmVkIGFzIG11bHRpcGxlIHBhcnRzLCB0aGUgY2FjaGUgZmlsZSBmb3IgdGhl
IHVybCBpcyB0cnVuY2F0ZWQgd2hlbiBvcGVuZWQgZm9yIHdyaXRpbmcsCisgICAgICAgIGFuZCB3
aWxsIG9ubHkgY29udGFpbiB0aGUgbGFzdCBwYXJ0IG9mIGRhdGEgcmVjZWl2ZWQuCisgICAgICAg
IFRoaXMgaXMgZml4ZWQgYnkgb25seSBvcGVuaW5nIHRoZSBmaWxlIG9uY2UsIGFuZCBjbG9zZSBp
dCBhZnRlciBhbGwgZGF0YSBoYXMgYmVlbiByZWNlaXZlZC4KKworICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvY3VybC9DdXJsQ2FjaGVFbnRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDdXJs
Q2FjaGVFbnRyeTo6Q3VybENhY2hlRW50cnkpOiBJbml0aWFsaXplIGNhY2hlIGZpbGUgaGFuZGxl
IG1lbWJlci4KKyAgICAgICAgKFdlYkNvcmU6OkN1cmxDYWNoZUVudHJ5Ojp+Q3VybENhY2hlRW50
cnkpOiBDbG9zZSBjYWNoZSBmaWxlLgorICAgICAgICAoV2ViQ29yZTo6Q3VybENhY2hlRW50cnk6
OnNhdmVDYWNoZWREYXRhKTogT25seSBvcGVuIGNhY2hlIGZpbGUgb25jZSB0byBhdm9pZCB0cnVu
Y2F0aW5nLgorICAgICAgICAoV2ViQ29yZTo6Q3VybENhY2hlRW50cnk6OmRpZEZhaWwpOiBDbG9z
ZSBjYWNoZSBmaWxlLgorICAgICAgICAoV2ViQ29yZTo6Q3VybENhY2hlRW50cnk6OmRpZEZpbmlz
aExvYWRpbmcpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkN1cmxDYWNoZUVudHJ5OjpvcGVu
Q29udGVudEZpbGUpOiBBZGRlZCBtZXRob2QgdG8gb3BlbiBjYWNoZSBmaWxlLgorICAgICAgICAo
V2ViQ29yZTo6Q3VybENhY2hlRW50cnk6OmNsb3NlQ29udGVudEZpbGUpOiBBZGRlZCBtZXRob2Qg
dG8gY2xvc2UgY2FjaGUgZmlsZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3Vy
bENhY2hlRW50cnkuaDogQWRkZWQgZmlsZSBoYW5kbGUgbWVtYmVyLCBhbmQgbWV0aG9kcyB0byBv
cGVuIGFuZCBjbG9zZSBjYWNoZSBmaWxlLgorCiAyMDE0LTA1LTE5ICBBbnR0aSBLb2l2aXN0byAg
PGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggYXNzZXJ0aW9uIGZhaWx1cmUgd2l0aCBz
aW1wbGUgbGluZSBsYXlvdXQgZGVidWcgYm9yZGVycyBlbmFibGVkLgpJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxDYWNoZUVudHJ5LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybENhY2hlRW50cnku
Y3BwCShyZXZpc2lvbiAxNjg5MDMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L2N1cmwvQ3VybENhY2hlRW50cnkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw2IEBA
CiAKICNpbmNsdWRlICJDdXJsQ2FjaGVFbnRyeS5oIgogCi0jaW5jbHVkZSAiRmlsZVN5c3RlbS5o
IgogI2luY2x1ZGUgIkhUVFBIZWFkZXJNYXAuaCIKICNpbmNsdWRlICJIVFRQUGFyc2Vycy5oIgog
I2luY2x1ZGUgIkxvZ2dpbmcuaCIKQEAgLTQ5LDYgKzQ4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogQ3VybENhY2hlRW50cnk6OkN1cmxDYWNoZUVudHJ5KGNvbnN0IFN0cmluZyYgdXJsLCBjb25z
dCBTdHJpbmcmIGNhY2hlRGlyKQogICAgIDogbV9oZWFkZXJGaWxlbmFtZShjYWNoZURpcikKICAg
ICAsIG1fY29udGVudEZpbGVuYW1lKGNhY2hlRGlyKQorICAgICwgbV9jb250ZW50RmlsZShpbnZh
bGlkUGxhdGZvcm1GaWxlSGFuZGxlKQogICAgICwgbV9lbnRyeVNpemUoMCkKICAgICAsIG1fZXhw
aXJlRGF0ZSgtMSkKICAgICAsIG1faGVhZGVyUGFyc2VkKGZhbHNlKQpAQCAtNjQsNiArNjQsNyBA
QCBDdXJsQ2FjaGVFbnRyeTo6Q3VybENhY2hlRW50cnkoY29uc3QgU3RyCiAKIEN1cmxDYWNoZUVu
dHJ5Ojp+Q3VybENhY2hlRW50cnkoKQogeworICAgIGNsb3NlQ29udGVudEZpbGUoKTsKIH0KIAog
Ly8gQ2FjaGUgbWFuYWdlciBzaG91bGQgaW52YWxpZGF0ZSB0aGUgZW50cnkgb24gZmFsc2UKQEAg
LTkwLDE2ICs5MSwxMiBAQCBib29sIEN1cmxDYWNoZUVudHJ5Ojppc0NhY2hlZCgpCiAKIGJvb2wg
Q3VybENhY2hlRW50cnk6OnNhdmVDYWNoZWREYXRhKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBz
aXplKQogewotICAgIFBsYXRmb3JtRmlsZUhhbmRsZSBjb250ZW50RmlsZSA9IG9wZW5GaWxlKG1f
Y29udGVudEZpbGVuYW1lLCBPcGVuRm9yV3JpdGUpOwotICAgIGlmICghaXNIYW5kbGVWYWxpZChj
b250ZW50RmlsZSkpIHsKLSAgICAgICAgTE9HKE5ldHdvcmssICJDYWNoZSBFcnJvcjogQ291bGQg
bm90IG9wZW4gJXMgZm9yIHdyaXRlXG4iLCBtX2NvbnRlbnRGaWxlbmFtZS5sYXRpbjEoKS5kYXRh
KCkpOworICAgIGlmICghb3BlbkNvbnRlbnRGaWxlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
LSAgICB9CiAKICAgICAvLyBBcHBlbmQKLSAgICBzZWVrRmlsZShjb250ZW50RmlsZSwgMCwgU2Vl
a0Zyb21FbmQpOwotICAgIHdyaXRlVG9GaWxlKGNvbnRlbnRGaWxlLCBkYXRhLCBzaXplKTsKLSAg
ICBjbG9zZUZpbGUoY29udGVudEZpbGUpOworICAgIHdyaXRlVG9GaWxlKG1fY29udGVudEZpbGUs
IGRhdGEsIHNpemUpOworCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKQEAgLTE5NSwxMSArMTkyLDEy
IEBAIHZvaWQgQ3VybENhY2hlRW50cnk6OnNldFJlc3BvbnNlRnJvbUNhY2gKIHZvaWQgQ3VybENh
Y2hlRW50cnk6OmRpZEZhaWwoKQogewogICAgIC8vIFRoZSBjYWNoZSBtYW5hZ2VyIHdpbGwgY2Fs
bCBpbnZhbGlkYXRlKCkKKyAgICBjbG9zZUNvbnRlbnRGaWxlKCk7CiB9CiAKIHZvaWQgQ3VybENh
Y2hlRW50cnk6OmRpZEZpbmlzaExvYWRpbmcoKQogewotICAgIC8vIE5vdGhpbmcgdG8gZG8gaGVy
ZSB5ZXQKKyAgICBjbG9zZUNvbnRlbnRGaWxlKCk7CiB9CiAKIHZvaWQgQ3VybENhY2hlRW50cnk6
OmdlbmVyYXRlQmFzZUZpbGVuYW1lKGNvbnN0IENTdHJpbmcmIHVybCkKQEAgLTM2MSw2ICszNTks
MzIgQEAgc2l6ZV90IEN1cmxDYWNoZUVudHJ5OjplbnRyeVNpemUoKQogICAgIHJldHVybiBtX2Vu
dHJ5U2l6ZTsKIH0KIAorCitib29sIEN1cmxDYWNoZUVudHJ5OjpvcGVuQ29udGVudEZpbGUoKQor
eworICAgIGlmIChpc0hhbmRsZVZhbGlkKG1fY29udGVudEZpbGUpKQorICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICAKKyAgICBtX2NvbnRlbnRGaWxlID0gb3BlbkZpbGUobV9jb250ZW50RmlsZW5h
bWUsIE9wZW5Gb3JXcml0ZSk7CisKKyAgICBpZiAoaXNIYW5kbGVWYWxpZChtX2NvbnRlbnRGaWxl
KSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgCisgICAgTE9HKE5ldHdvcmssICJDYWNoZSBF
cnJvcjogQ291bGQgbm90IG9wZW4gJXMgZm9yIHdyaXRlXG4iLCBtX2NvbnRlbnRGaWxlbmFtZS5s
YXRpbjEoKS5kYXRhKCkpOworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBDdXJsQ2FjaGVF
bnRyeTo6Y2xvc2VDb250ZW50RmlsZSgpCit7CisgICAgaWYgKCFpc0hhbmRsZVZhbGlkKG1fY29u
dGVudEZpbGUpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIGNsb3NlRmlsZShtX2NvbnRl
bnRGaWxlKTsKKyAgICBtX2NvbnRlbnRGaWxlID0gaW52YWxpZFBsYXRmb3JtRmlsZUhhbmRsZTsK
KworICAgIHJldHVybiB0cnVlOworfQorCiB9CiAKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxDYWNoZUVudHJ5LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxDYWNoZUVudHJ5LmgJKHJl
dmlzaW9uIDE2ODkwMykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9D
dXJsQ2FjaGVFbnRyeS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBACiAjaWZuZGVm
IEN1cmxDYWNoZUVudHJ5X2gKICNkZWZpbmUgQ3VybENhY2hlRW50cnlfaAogCisjaW5jbHVkZSAi
RmlsZVN5c3RlbS5oIgogI2luY2x1ZGUgIkhUVFBIZWFkZXJNYXAuaCIKICNpbmNsdWRlICJSZXNv
dXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgpAQCAtNjQsNiArNjUs
OCBAQCBwcml2YXRlOgogICAgIFN0cmluZyBtX2hlYWRlckZpbGVuYW1lOwogICAgIFN0cmluZyBt
X2NvbnRlbnRGaWxlbmFtZTsKIAorICAgIFBsYXRmb3JtRmlsZUhhbmRsZSBtX2NvbnRlbnRGaWxl
OworCiAgICAgc2l6ZV90IG1fZW50cnlTaXplOwogICAgIGRvdWJsZSBtX2V4cGlyZURhdGU7CiAg
ICAgYm9vbCBtX2hlYWRlclBhcnNlZDsKQEAgLTc0LDYgKzc3LDkgQEAgcHJpdmF0ZToKICAgICB2
b2lkIGdlbmVyYXRlQmFzZUZpbGVuYW1lKGNvbnN0IENTdHJpbmcmIHVybCk7CiAgICAgYm9vbCBs
b2FkRmlsZVRvQnVmZmVyKGNvbnN0IFN0cmluZyYgZmlsZXBhdGgsIFZlY3RvcjxjaGFyPiYgYnVm
ZmVyKTsKICAgICBib29sIGxvYWRSZXNwb25zZUhlYWRlcnMoKTsKKworICAgIGJvb2wgb3BlbkNv
bnRlbnRGaWxlKCk7CisgICAgYm9vbCBjbG9zZUNvbnRlbnRGaWxlKCk7CiB9OwogCiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>