summaryrefslogtreecommitdiff
path: root/www/curl/patches/patch-be
diff options
context:
space:
mode:
Diffstat (limited to 'www/curl/patches/patch-be')
-rw-r--r--www/curl/patches/patch-be27
1 files changed, 27 insertions, 0 deletions
diff --git a/www/curl/patches/patch-be b/www/curl/patches/patch-be
new file mode 100644
index 00000000000..1930af54371
--- /dev/null
+++ b/www/curl/patches/patch-be
@@ -0,0 +1,27 @@
+$NetBSD: patch-be,v 1.1.2.2 2012/01/28 06:26:19 sbd Exp $
+
+CVE-2012-0036
+
+--- lib/smtp.c.orig 2011-11-04 22:32:57.000000000 +0000
++++ lib/smtp.c
+@@ -1243,7 +1243,6 @@ static CURLcode smtp_connect(struct conn
+ struct SessionHandle *data = conn->data;
+ struct pingpong *pp = &smtpc->pp;
+ const char *path = conn->data->state.path;
+- int len;
+ char localhost[HOSTNAME_MAX + 1];
+
+ *done = FALSE; /* default to not done yet */
+@@ -1315,9 +1314,9 @@ static CURLcode smtp_connect(struct conn
+ }
+
+ /* url decode the path and use it as domain with EHLO */
+- smtpc->domain = curl_easy_unescape(conn->data, path, 0, &len);
+- if(!smtpc->domain)
+- return CURLE_OUT_OF_MEMORY;
++ result = Curl_urldecode(conn->data, path, 0, &smtpc->domain, NULL, TRUE);
++ if(result)
++ return result;
+
+ /* When we connect, we start in the state where we await the server greeting
+ */