aboutsummaryrefslogtreecommitdiff
path: root/lib/curl_sasl.c
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2014-06-11 23:32:10 +0200
committerDaniel Stenberg <daniel@haxx.se>2014-06-11 23:32:10 +0200
commit3aa1329e0a666d13afaa68204c94ad8af74ab657 (patch)
tree75d739c2553f51b05fddbc1af172f7c9ed2537bd /lib/curl_sasl.c
parente95ca7cec9c8907646a2bf87e295a638d5b518fc (diff)
curl_sasl: revert the goto for error bailout
They were added because of an older code path that used allocations and should not have been left in the code. With this change the logic goes back to how it was.
Diffstat (limited to 'lib/curl_sasl.c')
-rw-r--r--lib/curl_sasl.c32
1 files changed, 10 insertions, 22 deletions
diff --git a/lib/curl_sasl.c b/lib/curl_sasl.c
index 13592cfd7..5a3cdd787 100644
--- a/lib/curl_sasl.c
+++ b/lib/curl_sasl.c
@@ -456,10 +456,8 @@ CURLcode Curl_sasl_create_digest_md5_message(struct SessionHandle *data,
/* So far so good, now calculate A1 and H(A1) according to RFC 2831 */
ctxt = Curl_MD5_init(Curl_DIGEST_MD5);
- if(!ctxt) {
- result = CURLE_OUT_OF_MEMORY;
- goto fail;
- }
+ if(!ctxt)
+ return CURLE_OUT_OF_MEMORY;
Curl_MD5_update(ctxt, (const unsigned char *) userp,
curlx_uztoui(strlen(userp)));
@@ -472,10 +470,8 @@ CURLcode Curl_sasl_create_digest_md5_message(struct SessionHandle *data,
Curl_MD5_final(ctxt, digest);
ctxt = Curl_MD5_init(Curl_DIGEST_MD5);
- if(!ctxt) {
- result = CURLE_OUT_OF_MEMORY;
- goto fail;
- }
+ if(!ctxt)
+ return CURLE_OUT_OF_MEMORY;
Curl_MD5_update(ctxt, (const unsigned char *) digest, MD5_DIGEST_LEN);
Curl_MD5_update(ctxt, (const unsigned char *) ":", 1);
@@ -495,10 +491,8 @@ CURLcode Curl_sasl_create_digest_md5_message(struct SessionHandle *data,
/* Calculate H(A2) */
ctxt = Curl_MD5_init(Curl_DIGEST_MD5);
- if(!ctxt) {
- result = CURLE_OUT_OF_MEMORY;
- goto fail;
- }
+ if(!ctxt)
+ return CURLE_OUT_OF_MEMORY;
Curl_MD5_update(ctxt, (const unsigned char *) method,
curlx_uztoui(strlen(method)));
@@ -512,10 +506,8 @@ CURLcode Curl_sasl_create_digest_md5_message(struct SessionHandle *data,
/* Now calculate the response hash */
ctxt = Curl_MD5_init(Curl_DIGEST_MD5);
- if(!ctxt) {
- result = CURLE_OUT_OF_MEMORY;
- goto fail;
- }
+ if(!ctxt)
+ return CURLE_OUT_OF_MEMORY;
Curl_MD5_update(ctxt, (const unsigned char *) HA1_hex, 2 * MD5_DIGEST_LEN);
Curl_MD5_update(ctxt, (const unsigned char *) ":", 1);
@@ -545,16 +537,12 @@ CURLcode Curl_sasl_create_digest_md5_message(struct SessionHandle *data,
"qop=%s",
userp, realm, nonce,
cnonce, nonceCount, uri, resp_hash_hex);
- if(!response) {
- result = CURLE_OUT_OF_MEMORY;
- goto fail;
- }
+ if(!response)
+ return CURLE_OUT_OF_MEMORY;
/* Base64 encode the response */
result = Curl_base64_encode(data, response, 0, outptr, outlen);
- fail:
-
free(response);
return result;
}