]> granicus.if.org Git - curl/commitdiff
curl_schannel.c: fix possible dereference of null pointer
authorMarc Hoersken <info@marc-hoersken.de>
Fri, 18 Apr 2014 20:36:12 +0000 (22:36 +0200)
committerMarc Hoersken <info@marc-hoersken.de>
Fri, 18 Apr 2014 20:36:12 +0000 (22:36 +0200)
lib/vtls/curl_schannel.c

index 701fa556c45f3d894e86b7c721dbe3dcaec338b4..82e088c7b300f12e0fd067a7bdc7e5de3ab90d48 100644 (file)
@@ -310,6 +310,9 @@ schannel_connect_step2(struct connectdata *conn, int sockindex)
   infof(data, "schannel: SSL/TLS connection with %s port %hu (step 2/3)\n",
         conn->host.name, conn->remote_port);
 
+  if(!connssl->cred || !connssl->ctxt)
+    return CURLE_SSL_CONNECT_ERROR;
+
   /* buffer to store previously received and encrypted data */
   if(connssl->encdata_buffer == NULL) {
     connssl->encdata_offset = 0;
@@ -508,6 +511,9 @@ schannel_connect_step3(struct connectdata *conn, int sockindex)
   infof(data, "schannel: SSL/TLS connection with %s port %hu (step 3/3)\n",
         conn->host.name, conn->remote_port);
 
+  if(!connssl->cred)
+    return CURLE_SSL_CONNECT_ERROR;
+
   /* check if the required context attributes are met */
   if(connssl->ret_flags != connssl->req_flags) {
     if(!(connssl->ret_flags & ISC_RET_SEQUENCE_DETECT))