]> granicus.if.org Git - curl/commitdiff
imap: Fixed memory leak following commit f6010d9a0359
authorSteve Holme <steve_holme@hotmail.com>
Sun, 10 Feb 2013 20:32:36 +0000 (20:32 +0000)
committerSteve Holme <steve_holme@hotmail.com>
Sun, 10 Feb 2013 20:32:36 +0000 (20:32 +0000)
lib/imap.c

index 8032db4a04936665b13cec98e2ae89e39526670d..be0de2eed5e6ae159a6c55aa284d7bec4d4c90c7 100644 (file)
@@ -497,8 +497,8 @@ static CURLcode imap_state_login(struct connectdata *conn)
 {
   CURLcode result = CURLE_OK;
   struct FTP *imap = conn->data->state.proto.imap;
-  char *user = imap_atom(imap->user);
-  char *passwd = imap_atom(imap->passwd);
+  char *user;
+  char *passwd;
 
   /* Check we have a username and password to authenticate with and end the
      connect phase if we don't */
@@ -508,6 +508,10 @@ static CURLcode imap_state_login(struct connectdata *conn)
     return result;
   }
 
+  /* Make sure the username and password are in the correct atom format */
+  user = imap_atom(imap->user);
+  passwd = imap_atom(imap->passwd);
+
   /* Send USER and password */
   result = imap_sendf(conn, "LOGIN %s %s", user ? user : "",
                       passwd ? passwd : "");