gtls: fix NULL pointer dereference
authorDaniel Stenberg <daniel@haxx.se>
Tue, 22 Apr 2014 21:24:31 +0000 (23:24 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Tue, 22 Apr 2014 21:24:31 +0000 (23:24 +0200)
gnutls_x509_crt_import() must not be called with a NULL certificate

Bug: http://curl.haxx.se/mail/lib-2014-04/0145.html
Reported-by: Damian Dixon
lib/vtls/gtls.c

index 2a98787..d6849ce 100644 (file)
@@ -735,9 +735,10 @@ gtls_connect_step3(struct connectdata *conn,
   /* initialize an X.509 certificate structure. */
   gnutls_x509_crt_init(&x509_cert);
 
-  /* convert the given DER or PEM encoded Certificate to the native
-     gnutls_x509_crt_t format */
-  gnutls_x509_crt_import(x509_cert, chainp, GNUTLS_X509_FMT_DER);
+  if(chainp)
+    /* convert the given DER or PEM encoded Certificate to the native
+       gnutls_x509_crt_t format */
+    gnutls_x509_crt_import(x509_cert, chainp, GNUTLS_X509_FMT_DER);
 
   if(data->set.ssl.issuercert) {
     gnutls_x509_crt_init(&x509_issuer);