curl_sasl: revert the goto for error bailout
authorDaniel Stenberg <daniel@haxx.se>
Wed, 11 Jun 2014 21:32:10 +0000 (23:32 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Wed, 11 Jun 2014 21:32:10 +0000 (23:32 +0200)
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.

lib/curl_sasl.c

index 13592cfd7a255b268d16a12fb2e4c3a69b066353..5a3cdd7878bf7ac3098f854ab48ac6ba0db0a008 100644 (file)
@@ -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;
 }