]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
gtls: add check of return code
authorDaniel Stenberg <daniel@haxx.se>
Sat, 21 Mar 2015 15:50:51 +0000 (16:50 +0100)
committerDaniel Stenberg <daniel@haxx.se>
Sat, 21 Mar 2015 15:53:43 +0000 (16:53 +0100)
Coverity CID 1291167 pointed out that 'rc' was received but never used when
gnutls_credentials_set() was used. Added return code check now.

lib/vtls/gtls.c

index 82c09bc801ffa339958d46912c8901b0eb514b72..3ad0f82ff3ad531f7d468cf26c5c832447005394 100644 (file)
@@ -671,13 +671,21 @@ gtls_connect_step1(struct connectdata *conn,
   if(data->set.ssl.authtype == CURL_TLSAUTH_SRP) {
     rc = gnutls_credentials_set(session, GNUTLS_CRD_SRP,
                                 conn->ssl[sockindex].srp_client_cred);
-    if(rc != GNUTLS_E_SUCCESS)
+    if(rc != GNUTLS_E_SUCCESS) {
       failf(data, "gnutls_credentials_set() failed: %s", gnutls_strerror(rc));
+      return CURLE_SSL_CONNECT_ERROR;
+    }
   }
   else
 #endif
+  {
     rc = gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE,
                                 conn->ssl[sockindex].cred);
+    if(rc != GNUTLS_E_SUCCESS) {
+      failf(data, "gnutls_credentials_set() failed: %s", gnutls_strerror(rc));
+      return CURLE_SSL_CONNECT_ERROR;
+    }
+  }
 
   /* set the connection handle (file descriptor for the socket) */
   gnutls_transport_set_ptr(session,