<?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>28312</bug_id>
          
          <creation_ts>2009-08-14 12:39:14 -0700</creation_ts>
          <short_desc>[CURL] Crash in download handler for local files</short_desc>
          <delta_ts>2009-08-14 16:09:22 -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>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>Curl</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>140303</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2009-08-14 12:39:14 -0700</bug_when>
    <thetext>When the CURL backend handle the &apos;download&apos; of a local file, it does not perform the normal header processing for data received over the network.  This means that the URL is not set properly, and the &apos;didReceiveResponse&apos; processing is never performed.

This was the cause of an earlier bug in the write callback, as evidenced by the following comment:

    // since the code in headerCallback will not have run for local files
    // the code to set the URL and fire didReceiveResponse is never run,
    // which means the ResourceLoader&apos;s response does not contain the URL.
    // Run the code here for local files to resolve the issue.
    // TODO: See if there is a better approach for handling this.

I have resolved the current error in the same fashion, by dealing with this special case and manually firing the &apos;didReceiveResponse&apos;.  This specialized handling is now in its own function which cleans things up a bit.

The current bug was demonstrated by LayoutTests/fast/encoding/char-encoding-mac.html.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>140305</commentid>
    <comment_count>1</comment_count>
      <attachid>34868</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2009-08-14 12:45:49 -0700</bug_when>
    <thetext>Created attachment 34868
Correct crash due to improper handling of local files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>140317</commentid>
    <comment_count>2</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2009-08-14 13:16:33 -0700</bug_when>
    <thetext>The problem here is actually in the POST handler.  The proper fix seems to be
to add the &apos;didReceiveResponse&apos; to the readCallback handler.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>140348</commentid>
    <comment_count>3</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2009-08-14 15:02:48 -0700</bug_when>
    <thetext>Further testing indicates the original patch actually was correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>140375</commentid>
    <comment_count>4</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2009-08-14 16:09:10 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/47299.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34868</attachid>
            <date>2009-08-14 12:45:49 -0700</date>
            <delta_ts>2009-08-14 15:01:49 -0700</delta_ts>
            <desc>Correct crash due to improper handling of local files.</desc>
            <filename>curl_crash.patch</filename>
            <type>text/plain</type>
            <size>3783</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NzI5MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMDktMDgtMTQgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUB3ZWJr
aXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IENvcnJlY3QgbGliY3VybCBjcmFzaCB3aGVuIGRvd25sb2FkaW5nIGxvY2FsIGZpbGVzLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjgzMTIKKworICAg
ICAgICBObyBuZXcgdGVzdHMuIFRlc3QgaXMgY292ZXJlZCBieSBmYXN0L2VuY29kaW5nL2NoYXIt
ZW5jb2RpbmctbWFjLmh0bWwuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVz
b3VyY2VIYW5kbGVNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmhhbmRsZUxvY2FsUmVj
ZWl2ZVJlc3BvbnNlKTogTmV3IHN0YXRpYyBmdW5jdGlvbiB0aGF0CisgICAgICAgICAgcGVyZm9y
bXMgdGhlIGxvY2FsIHNldHRpbmcgb2YgdmFsaWQgVVJMIGFuZCBmaXJpbmcgZGlkUmVjZWl2ZVJl
c3BvbnNlLgorICAgICAgICAgIFRoaXMgY29kZSB3YXMgbW92ZWQgZnJvbSB3cml0ZUNhbGxiYWNr
LgorICAgICAgICAoV2ViQ29yZTo6d3JpdGVDYWxsYmFjayk6IE1vdmUgbG9jYWwgZmlsZSBoYW5k
bGluZyB0byBzdGF0aWMgZnVuY3Rpb24KKyAgICAgICAgICAoYWJvdmUpIGFuZCB1c2UgdGhlIGZ1
bmN0aW9uIGluc3RlYWQuCisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZU1hbmFnZXI6
OmRvd25sb2FkVGltZXJDYWxsYmFjayk6IEFkZCBjaGVjaworICAgICAgICAgIGZvciByZXNwb25z
ZUZpcmVkLCBhbmQgaGFuZGxlIGFzIGEgbG9jYWwgZmlsZSBpZiBpdCB3YXMgbm90LgorCiAyMDA5
LTA4LTE0ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBTYW0gV2VpbmlnLgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVz
b3VyY2VIYW5kbGVNYW5hZ2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZU1hbmFnZXIuY3BwCShyZXZpc2lvbiA0NzIxOCkKKysr
IFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlTWFuYWdlci5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEwOSw2ICsxMDksMjMgQEAgUmVzb3VyY2VIYW5kbGVNYW5hZ2Vy
KiBSZXNvdXJjZUhhbmRsZU1hbgogICAgIHJldHVybiBzaGFyZWRJbnN0YW5jZTsKIH0KIAorc3Rh
dGljIHZvaWQgaGFuZGxlTG9jYWxSZWNlaXZlUmVzcG9uc2UgKENVUkwqIGhhbmRsZSwgUmVzb3Vy
Y2VIYW5kbGUqIGpvYiwgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCogZCkKK3sKKyAgICAvLyBzaW5j
ZSB0aGUgY29kZSBpbiBoZWFkZXJDYWxsYmFjayB3aWxsIG5vdCBoYXZlIHJ1biBmb3IgbG9jYWwg
ZmlsZXMKKyAgICAvLyB0aGUgY29kZSB0byBzZXQgdGhlIFVSTCBhbmQgZmlyZSBkaWRSZWNlaXZl
UmVzcG9uc2UgaXMgbmV2ZXIgcnVuLAorICAgIC8vIHdoaWNoIG1lYW5zIHRoZSBSZXNvdXJjZUxv
YWRlcidzIHJlc3BvbnNlIGRvZXMgbm90IGNvbnRhaW4gdGhlIFVSTC4KKyAgICAvLyBSdW4gdGhl
IGNvZGUgaGVyZSBmb3IgbG9jYWwgZmlsZXMgdG8gcmVzb2x2ZSB0aGUgaXNzdWUuCisgICAgLy8g
VE9ETzogU2VlIGlmIHRoZXJlIGlzIGEgYmV0dGVyIGFwcHJvYWNoIGZvciBoYW5kbGluZyB0aGlz
LgorICAgICBjb25zdCBjaGFyKiBoZHI7CisgICAgIENVUkxjb2RlIGVyciA9IGN1cmxfZWFzeV9n
ZXRpbmZvKGhhbmRsZSwgQ1VSTElORk9fRUZGRUNUSVZFX1VSTCwgJmhkcik7CisgICAgIEFTU0VS
VChDVVJMRV9PSyA9PSBlcnIpOworICAgICBkLT5tX3Jlc3BvbnNlLnNldFVSTChLVVJMKGhkcikp
OworICAgICBpZiAoZC0+Y2xpZW50KCkpCisgICAgICAgICBkLT5jbGllbnQoKS0+ZGlkUmVjZWl2
ZVJlc3BvbnNlKGpvYiwgZC0+bV9yZXNwb25zZSk7CisgICAgIGQtPm1fcmVzcG9uc2Uuc2V0UmVz
cG9uc2VGaXJlZCh0cnVlKTsKK30KKworCiAvLyBjYWxsZWQgd2l0aCBkYXRhIGFmdGVyIGFsbCBo
ZWFkZXJzIGhhdmUgYmVlbiBwcm9jZXNzZWQgdmlhIGhlYWRlckNhbGxiYWNrCiBzdGF0aWMgc2l6
ZV90IHdyaXRlQ2FsbGJhY2sodm9pZCogcHRyLCBzaXplX3Qgc2l6ZSwgc2l6ZV90IG5tZW1iLCB2
b2lkKiBkYXRhKQogewpAQCAtMTMzLDE5ICsxNTAsOCBAQCBzdGF0aWMgc2l6ZV90IHdyaXRlQ2Fs
bGJhY2sodm9pZCogcHRyLCBzCiAgICAgaWYgKENVUkxFX09LID09IGVyciAmJiBodHRwQ29kZSA+
PSAzMDAgJiYgaHR0cENvZGUgPCA0MDApCiAgICAgICAgIHJldHVybiB0b3RhbFNpemU7CiAKLSAg
ICAvLyBzaW5jZSB0aGUgY29kZSBpbiBoZWFkZXJDYWxsYmFjayB3aWxsIG5vdCBoYXZlIHJ1biBm
b3IgbG9jYWwgZmlsZXMKLSAgICAvLyB0aGUgY29kZSB0byBzZXQgdGhlIFVSTCBhbmQgZmlyZSBk
aWRSZWNlaXZlUmVzcG9uc2UgaXMgbmV2ZXIgcnVuLAotICAgIC8vIHdoaWNoIG1lYW5zIHRoZSBS
ZXNvdXJjZUxvYWRlcidzIHJlc3BvbnNlIGRvZXMgbm90IGNvbnRhaW4gdGhlIFVSTC4KLSAgICAv
LyBSdW4gdGhlIGNvZGUgaGVyZSBmb3IgbG9jYWwgZmlsZXMgdG8gcmVzb2x2ZSB0aGUgaXNzdWUu
Ci0gICAgLy8gVE9ETzogU2VlIGlmIHRoZXJlIGlzIGEgYmV0dGVyIGFwcHJvYWNoIGZvciBoYW5k
bGluZyB0aGlzLgotICAgIGlmICghZC0+bV9yZXNwb25zZS5yZXNwb25zZUZpcmVkKCkpIHsKLSAg
ICAgICAgY29uc3QgY2hhciogaGRyOwotICAgICAgICBlcnIgPSBjdXJsX2Vhc3lfZ2V0aW5mbyho
LCBDVVJMSU5GT19FRkZFQ1RJVkVfVVJMLCAmaGRyKTsKLSAgICAgICAgZC0+bV9yZXNwb25zZS5z
ZXRVUkwoS1VSTChoZHIpKTsKLSAgICAgICAgaWYgKGQtPmNsaWVudCgpKQotICAgICAgICAgICAg
ZC0+Y2xpZW50KCktPmRpZFJlY2VpdmVSZXNwb25zZShqb2IsIGQtPm1fcmVzcG9uc2UpOwotICAg
ICAgICBkLT5tX3Jlc3BvbnNlLnNldFJlc3BvbnNlRmlyZWQodHJ1ZSk7Ci0gICAgfQorICAgIGlm
ICghZC0+bV9yZXNwb25zZS5yZXNwb25zZUZpcmVkKCkpCisgICAgICAgaGFuZGxlTG9jYWxSZWNl
aXZlUmVzcG9uc2UoaCwgam9iLCBkKTsKIAogICAgIGlmIChkLT5jbGllbnQoKSkKICAgICAgICAg
ZC0+Y2xpZW50KCktPmRpZFJlY2VpdmVEYXRhKGpvYiwgc3RhdGljX2Nhc3Q8Y2hhcio+KHB0ciks
IHRvdGFsU2l6ZSwgMCk7CkBAIC0zMzIsNiArMzM4LDEwIEBAIHZvaWQgUmVzb3VyY2VIYW5kbGVN
YW5hZ2VyOjpkb3dubG9hZFRpbWUKICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIGlm
IChDVVJMRV9PSyA9PSBtc2ctPmRhdGEucmVzdWx0KSB7CisKKyAgICAgICAgICAgIGlmICghZC0+
bV9yZXNwb25zZS5yZXNwb25zZUZpcmVkKCkpCisgICAgICAgICAgICAgICAgaGFuZGxlTG9jYWxS
ZWNlaXZlUmVzcG9uc2UoaGFuZGxlLCBqb2IsIGQpOworCiAgICAgICAgICAgICBpZiAoZC0+Y2xp
ZW50KCkpCiAgICAgICAgICAgICAgICAgZC0+Y2xpZW50KCktPmRpZEZpbmlzaExvYWRpbmcoam9i
KTsKICAgICAgICAgfSBlbHNlIHsK
</data>
<flag name="review"
          id="19062"
          type_id="1"
          status="+"
          setter="kevino"
    />
          </attachment>
      

    </bug>

</bugzilla>