From: Matt Caswell Date: Fri, 27 May 2016 12:55:47 +0000 (+0100) Subject: Fix printing of DH Parameters X-Git-Tag: OpenSSL_1_1_0-pre6~625 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=1d54ef340864507c1b6e86238183ab4cbc7423aa;p=oweals%2Fopenssl.git Fix printing of DH Parameters The -text argument to dhparam is broken, because the DHparams_print() function always returns an error. The problem is that always expects a public or private key to be present, even though that is never the case with parameters. Reviewed-by: Richard Levitte --- diff --git a/crypto/dh/dh_ameth.c b/crypto/dh/dh_ameth.c index b7b37177c1..78aea36093 100644 --- a/crypto/dh/dh_ameth.c +++ b/crypto/dh/dh_ameth.c @@ -280,7 +280,8 @@ static int do_dh_print(BIO *bp, const DH *x, int indent, int ptype) else pub_key = NULL; - if (priv_key == NULL && pub_key == NULL) { + if (x->p == NULL || (ptype == 2 && priv_key == NULL) + || (ptype > 0 && pub_key == NULL)) { reason = ERR_R_PASSED_NULL_PARAMETER; goto err; }