aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/curl_sasl.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/curl_sasl.c b/lib/curl_sasl.c
index d399d6a7e..52ae2827c 100644
--- a/lib/curl_sasl.c
+++ b/lib/curl_sasl.c
@@ -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;
}
/*