Make sure not to dereference the wrong UrlState proto union member when
authorDan Fandrich <dan@coneharvesters.com>
Wed, 24 Sep 2008 01:08:01 +0000 (01:08 +0000)
committerDan Fandrich <dan@coneharvesters.com>
Wed, 24 Sep 2008 01:08:01 +0000 (01:08 +0000)
switching from one protocol to another in a single request (e.g.
redirecting from HTTP to FTP as in test 1055) by resetting
state.expect100header before every request.

CHANGES
lib/url.c

diff --git a/CHANGES b/CHANGES
index 9ea9f3b..82ac6a1 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,12 @@
 
                                   Changelog
 
+Daniel Fandrich (23 Sep 2008)
+- Make sure not to dereference the wrong UrlState proto union member when
+  switching from one protocol to another in a single request (e.g.
+  redirecting from HTTP to FTP as in test 1055) by resetting
+  state.expect100header before every request.
+
 Daniel Stenberg (23 Sep 2008)
 - Introducing Jamie Lokier's function for date to epoch conversion used in the
   date parser function. This makes our function less dependent on system-
@@ -37,7 +43,7 @@ Daniel Stenberg (22 Sep 2008)
   CURLE_RECV_ERROR to get returned. This made test case 160 fail so I've now
   disabled it until we can figure out another way to exercise that logic.
 
-- Michael Goffioul filed bug report #2107377 "Problem with mutli + GnuTLS +
+- Michael Goffioul filed bug report #2107377 "Problem with multi + GnuTLS +
   proxy" (http://curl.haxx.se/bug/view.cgi?id=2107377) that showed how a multi
   interface using program didn't work when built with GnuTLS and a CONNECT
   request was done over a proxy (basically test 502 over a proxy to a HTTPS
index 7cfe7cc..352ec20 100644 (file)
--- a/lib/url.c
+++ b/lib/url.c
@@ -4682,6 +4682,7 @@ static CURLcode do_init(struct connectdata *conn)
 
   conn->bits.done = FALSE; /* Curl_done() is not called yet */
   conn->bits.do_more = FALSE; /* by default there's no curl_do_more() to use */
+  data->state.expect100header = FALSE;
 
   /* NB: the content encoding software depends on this initialization */
   Curl_easy_initHandleData(data);