sasl: Fixed memory leak in OAUTH2 message creation
authorSteve Holme <steve_holme@hotmail.com>
Wed, 23 Oct 2013 23:16:59 +0000 (00:16 +0100)
committerSteve Holme <steve_holme@hotmail.com>
Wed, 23 Oct 2013 23:16:59 +0000 (00:16 +0100)
lib/curl_sasl.c

index d399d6a..52ae282 100644 (file)
@@ -514,6 +514,7 @@ CURLcode Curl_sasl_create_xoauth2_message(struct SessionHandle *data,
                                           const char *bearer,
                                           char **outptr, size_t *outlen)
 {
+  CURLcode result = CURLE_OK;
   char *xoauth;
 
   xoauth = aprintf("user=%s\1auth=Bearer %s\1\1", user, bearer);
@@ -522,8 +523,12 @@ CURLcode Curl_sasl_create_xoauth2_message(struct SessionHandle *data,
     return CURLE_OUT_OF_MEMORY;
 
   /* Base64 encode the reply */
-  return Curl_base64_encode(data, xoauth, strlen(xoauth), outptr,
-                            outlen);
+  result = Curl_base64_encode(data, xoauth, strlen(xoauth), outptr,
+                              outlen);
+
+  Curl_safefree(xoauth);
+
+  return result;
 }
 
 /*