]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-ssl-iostream: Crashfix for recent change.
authorTimo Sirainen <tss@iki.fi>
Thu, 11 Jul 2013 22:36:41 +0000 (01:36 +0300)
committerTimo Sirainen <tss@iki.fi>
Thu, 11 Jul 2013 22:36:41 +0000 (01:36 +0300)
src/lib-ssl-iostream/iostream-openssl-context.c

index 7bb83a88e3a4babc7a50148cd8e4c036dac2a3a3..37cfc636a576b7a0e61bc3414e6fd179b93249f3 100644 (file)
@@ -416,13 +416,15 @@ ssl_proxy_ctx_get_pkey_ec_curve_name(const struct ssl_iostream_settings *set,
        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;