aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--g10/ChangeLog4
-rw-r--r--g10/keygen.c10
2 files changed, 8 insertions, 6 deletions
diff --git a/g10/ChangeLog b/g10/ChangeLog
index 3316f1ca6..cc4509433 100644
--- a/g10/ChangeLog
+++ b/g10/ChangeLog
@@ -2,6 +2,10 @@
* keygen.c (do_generate_keypair): Print member fname, instead of
newfname, again.
+ (do_generate_keypair): Don't try to execute certain pieces of code
+ in case an error occured.
+ (gen_card_key): Don't print out a message, which is already
+ printed by do_generate_keypair().
2004-01-18 Moritz Schulte <[email protected]>
diff --git a/g10/keygen.c b/g10/keygen.c
index a13ea155c..72c5e1e8a 100644
--- a/g10/keygen.c
+++ b/g10/keygen.c
@@ -2549,7 +2549,7 @@ do_generate_keypair (struct para_data_s *para,
get_parameter_uint (para, pKEYUSAGE));
}
- if (get_parameter (para, pSUBKEYTYPE))
+ if ((! rc) && get_parameter (para, pSUBKEYTYPE))
{
if (!card)
{
@@ -2575,7 +2575,7 @@ do_generate_keypair (struct para_data_s *para,
did_sub = 1;
}
- if (card && get_parameter (para, pAUTHKEYTYPE))
+ if ((! rc) && card && get_parameter (para, pAUTHKEYTYPE))
{
rc = gen_card_key (PUBKEY_ALGO_RSA, 3, pub_root, sec_root,
get_parameter_u32 (para, pKEYEXPIRE), para);
@@ -2866,10 +2866,8 @@ gen_card_key (int algo, int keyno, KBNODE pub_root, KBNODE sec_root,
/* } */
if (rc)
- {
- log_error ("key generation failed: %s\n", gpg_strerror (rc));
- return rc;
- }
+ return rc;
+
if ( !info.n || !info.e )
{
log_error ("communication error with SCD\n");