aboutsummaryrefslogtreecommitdiffstats
path: root/cipher/rsa.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2004-09-23 19:34:45 +0000
committerWerner Koch <[email protected]>2004-09-23 19:34:45 +0000
commitf36154535e344ee4771f9d1c7676961fa330ed96 (patch)
tree92f297e3c222b40d9afd7d10b154d61b19b6840b /cipher/rsa.c
parent* gpg.sgml: Document "addcardkey" and "keytocard". (diff)
downloadgnupg-f36154535e344ee4771f9d1c7676961fa330ed96.tar.gz
gnupg-f36154535e344ee4771f9d1c7676961fa330ed96.zip
Note: I have not fully tested the new key creation due to a pc/sc
error. However the backupfile has been created successfully. * rsa.c (rsa_generate): Return the dummy list of factors only if the caller asked for it. * card_util.c (generate_card_keys): ask whether backup should be created. (card_store_subkey): Factored some code out to .. * keygen.c (save_unprotected_key_to_card): .. new function. (gen_card_key_with_backup): New. (generate_raw_key): New. (generate_keypair): New arg BACKUP_ENCRYPTION_DIR. Changed all callers. (do_generate_keypair): Divert to gen_card_key_with_backup when desired.
Diffstat (limited to '')
-rw-r--r--cipher/rsa.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/cipher/rsa.c b/cipher/rsa.c
index 7eb757a97..e41ff2481 100644
--- a/cipher/rsa.c
+++ b/cipher/rsa.c
@@ -353,7 +353,8 @@ rsa_generate( int algo, unsigned nbits, MPI *skey, MPI **retfactors )
skey[4] = sk.q;
skey[5] = sk.u;
/* make an empty list of factors */
- *retfactors = m_alloc_clear( 1 * sizeof **retfactors );
+ if (retfactors)
+ *retfactors = m_alloc_clear( 1 * sizeof **retfactors );
return 0;
}