changeset 16606:50b1d59912eb

lib-ssl-iostream: Crashfix for recent change.
author Timo Sirainen <tss@iki.fi>
date Fri, 12 Jul 2013 01:36:41 +0300
parents 6d986d132fb8
children a97caa1ce2b7
files src/lib-ssl-iostream/iostream-openssl-context.c
diffstat 1 files changed, 8 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-ssl-iostream/iostream-openssl-context.c	Thu Jul 11 14:29:05 2013 +0300
+++ b/src/lib-ssl-iostream/iostream-openssl-context.c	Fri Jul 12 01:36:41 2013 +0300
@@ -416,13 +416,15 @@
 	EC_KEY *eckey;
 	const EC_GROUP *ecgrp;
 
-	if (openssl_iostream_load_key(set, &pkey, error_r) < 0)
-		return -1;
+	if (set->key != NULL) {
+		if (openssl_iostream_load_key(set, &pkey, error_r) < 0)
+			return -1;
 
-	if ((eckey = EVP_PKEY_get1_EC_KEY(pkey)) != NULL &&
-	    (ecgrp = EC_KEY_get0_group(eckey)) != NULL)
-		nid = EC_GROUP_get_curve_name(ecgrp);
-	EVP_PKEY_free(pkey);
+		if ((eckey = EVP_PKEY_get1_EC_KEY(pkey)) != NULL &&
+		    (ecgrp = EC_KEY_get0_group(eckey)) != NULL)
+			nid = EC_GROUP_get_curve_name(ecgrp);
+		EVP_PKEY_free(pkey);
+	}
 
 	*nid_r = nid;
 	return 0;