summaryrefslogtreecommitdiffstats
path: root/curl-7.15.5-bz517199.patch
diff options
context:
space:
mode:
authorRemi Collet <fedora@famillecollet.com>2011-08-16 14:54:44 +0200
committerRemi Collet <fedora@famillecollet.com>2011-08-16 14:54:44 +0200
commit68c18b79288431ab4e477cc3f59ef4ccfe3e7355 (patch)
treee8ec04eaa888f78e1772bf959ee76461e3252d69 /curl-7.15.5-bz517199.patch
import curl-7.15.5-9.el5_6.3 from EL-5
Diffstat (limited to 'curl-7.15.5-bz517199.patch')
-rw-r--r--curl-7.15.5-bz517199.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/curl-7.15.5-bz517199.patch b/curl-7.15.5-bz517199.patch
new file mode 100644
index 0000000..799d177
--- /dev/null
+++ b/curl-7.15.5-bz517199.patch
@@ -0,0 +1,38 @@
+diff -rup curl-7.15.5.orig/lib/http.c curl-7.15.5/lib/http.c
+--- curl-7.15.5.orig/lib/http.c 2009-08-14 13:04:26.830607819 +0200
++++ curl-7.15.5/lib/http.c 2009-08-14 13:04:46.772482970 +0200
+@@ -1967,6 +1967,14 @@ CURLcode Curl_http(struct connectdata *c
+ te
+ );
+
++ /*
++ * Free userpwd now --- cannot reuse this for Negotiate and possibly NTLM
++ * with basic and digest, it will be freed anyway by the next request
++ */
++
++ Curl_safefree (conn->allocptr.userpwd);
++ conn->allocptr.userpwd = NULL;
++
+ if(result)
+ return result;
+
+diff -rup curl-7.15.5.orig/lib/http_negotiate.c curl-7.15.5/lib/http_negotiate.c
+--- curl-7.15.5.orig/lib/http_negotiate.c 2009-08-14 13:04:26.846608324 +0200
++++ curl-7.15.5/lib/http_negotiate.c 2009-08-14 13:05:15.467037550 +0200
+@@ -248,7 +248,6 @@ int Curl_input_negotiate(struct connectd
+ CURLcode Curl_output_negotiate(struct connectdata *conn)
+ {
+ struct negotiatedata *neg_ctx = &conn->data->state.negotiate;
+- OM_uint32 minor_status;
+ char *encoded = NULL;
+ int len;
+
+@@ -300,7 +299,7 @@ CURLcode Curl_output_negotiate(struct co
+ conn->allocptr.userpwd =
+ aprintf("Authorization: %s %s\r\n", neg_ctx->protocol, encoded);
+ free(encoded);
+- gss_release_buffer(&minor_status, &neg_ctx->output_token);
++ Curl_cleanup_negotiate (conn->data);
+ return (conn->allocptr.userpwd == NULL) ? CURLE_OUT_OF_MEMORY : CURLE_OK;
+ }
+