aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES3
-rw-r--r--lib/smtp.c5
2 files changed, 7 insertions, 1 deletions
diff --git a/CHANGES b/CHANGES
index d6013b782..ae0930707 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,9 @@
Changelog
+Daniel Fandrich (25 Feb 2010)
+- Fixed a couple of out of memory leaks and a segfault in the SMTP code.
+
Yang Tse (25 Feb 2010)
- I fixed bug report #2958074 indicating
(http://curl.haxx.se/bug/view.cgi?id=2958074) that curl on Windows with
diff --git a/lib/smtp.c b/lib/smtp.c
index d14c44be4..2587934cf 100644
--- a/lib/smtp.c
+++ b/lib/smtp.c
@@ -724,6 +724,8 @@ static CURLcode smtp_connect(struct connectdata *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;
/* When we connect, we start in the state where we await the server greeting
*/
@@ -917,7 +919,8 @@ static CURLcode smtp_disconnect(struct connectdata *conn)
/* The SMTP session may or may not have been allocated/setup at this
point! */
- (void)smtp_quit(conn); /* ignore errors on the LOGOUT */
+ if (smtpc->pp.conn)
+ (void)smtp_quit(conn); /* ignore errors on the LOGOUT */
Curl_pp_disconnect(&smtpc->pp);