From: Andy Polyakov Date: Sat, 21 Jul 2018 11:50:14 +0000 (+0200) Subject: apps/dsaparam.c: fix -C output. X-Git-Tag: OpenSSL_1_1_0i~42 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=1ef7cb279ccb69f5c3adde8aa961b72c05094237;p=oweals%2Fopenssl.git apps/dsaparam.c: fix -C output. Reviewed-by: Matthias St. Pierre Reviewed-by: Kurt Roeckx (Merged from https://github.com/openssl/openssl/pull/6758) (cherry picked from commit 708c28f2f0598af6bccbeb60fb46086784aed7da) --- diff --git a/apps/dsaparam.c b/apps/dsaparam.c index 5c3c8f8089..46e3abcafd 100644 --- a/apps/dsaparam.c +++ b/apps/dsaparam.c @@ -227,24 +227,27 @@ int dsaparam_main(int argc, char **argv) data = app_malloc(len + 20, "BN space"); BIO_printf(bio_out, "DSA *get_dsa%d()\n{\n", bits_p); - print_bignum_var(bio_out, p, "dsap", len, data); - print_bignum_var(bio_out, q, "dsaq", len, data); - print_bignum_var(bio_out, g, "dsag", len, data); + print_bignum_var(bio_out, p, "dsap", bits_p, data); + print_bignum_var(bio_out, q, "dsaq", bits_p, data); + print_bignum_var(bio_out, g, "dsag", bits_p, data); BIO_printf(bio_out, " DSA *dsa = DSA_new();\n" + " BIGNUM *p, *q, *g;\n" "\n"); BIO_printf(bio_out, " if (dsa == NULL)\n" " return NULL;\n"); - BIO_printf(bio_out, " dsa->p = BN_bin2bn(dsap_%d, sizeof(dsap_%d), NULL);\n", - bits_p, bits_p); - BIO_printf(bio_out, " dsa->q = BN_bin2bn(dsaq_%d, sizeof(dsaq_%d), NULL);\n", - bits_p, bits_p); - BIO_printf(bio_out, " dsa->g = BN_bin2bn(dsag_%d, sizeof(dsag_%d), NULL);\n", - bits_p, bits_p); - BIO_printf(bio_out, " if (!dsa->p || !dsa->q || !dsa->g) {\n" - " DSA_free(dsa);\n" + BIO_printf(bio_out, " if (!DSA_set0_pqg(dsa, p = BN_bin2bn(dsap_%d, sizeof(dsap_%d), NULL),\n", + bits_p, bits_p); + BIO_printf(bio_out, " q = BN_bin2bn(dsaq_%d, sizeof(dsaq_%d), NULL),\n", + bits_p, bits_p); + BIO_printf(bio_out, " g = BN_bin2bn(dsag_%d, sizeof(dsag_%d), NULL))) {\n", + bits_p, bits_p); + BIO_printf(bio_out, " DSA_free(dsa);\n" + " BN_free(p);\n" + " BN_free(q);\n" + " BN_free(g);\n" " return NULL;\n" " }\n" - " return(dsa);\n}\n"); + " return dsa;\n}\n"); OPENSSL_free(data); }