Fix EC_KEY_print so it prints out private key information
authorTim Hudson <tjh@openssl.org>
Fri, 9 Sep 2016 20:53:33 +0000 (06:53 +1000)
committerTim Hudson <tjh@openssl.org>
Fri, 9 Sep 2016 21:04:42 +0000 (07:04 +1000)
even when the public key is not present in an EC_KEY

Reviewed-by: Stephen Henson <steve@openssl.org>
(cherry picked from commit 82f52631b21b021787f344733e08bb53f1e7f0ec)

crypto/ec/ec_ameth.c

index 9792007a20014ae08f5200b90ef350b59057cb8c..66437e0da5755be92022acd51211ef0b2bf3bb4a 100644 (file)
@@ -345,7 +345,7 @@ static int do_EC_KEY_print(BIO *bp, const EC_KEY *x, int off, ec_print_t ktype)
         return 0;
     }
 
-    if (ktype != EC_KEY_PRINT_PARAM) {
+    if (ktype != EC_KEY_PRINT_PARAM && EC_KEY_get0_public_key(x) != NULL) {
         publen = EC_KEY_key2buf(x, EC_KEY_get_conv_form(x), &pub, NULL);
         if (publen == 0)
             goto err;