diff options
author | David Shaw <[email protected]> | 2003-03-11 22:12:20 +0000 |
---|---|---|
committer | David Shaw <[email protected]> | 2003-03-11 22:12:20 +0000 |
commit | 2c717d9038f3e63ffd2bf1f1873299fc13670cf3 (patch) | |
tree | 8424a23110cdcd7185ddfb5bba03c8b71b26894d /g10/passphrase.c | |
parent | * http.c (connect_server): Use DNS SRV to get a server list. Fail over to (diff) | |
download | gnupg-2c717d9038f3e63ffd2bf1f1873299fc13670cf3.tar.gz gnupg-2c717d9038f3e63ffd2bf1f1873299fc13670cf3.zip |
* options.h, g10.c (main), keyserver.c (kopts): Add "try-dns-srv"
keyserver option. Defaults to on.
* passphrase.c (agent_get_passphrase): Fix memory leak with symmetric
messages. Fix segfault with symmetric messages. Fix incorrect prompt
with symmetric messages.
Diffstat (limited to 'g10/passphrase.c')
-rw-r--r-- | g10/passphrase.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/g10/passphrase.c b/g10/passphrase.c index ac3f0311e..5345fb9b7 100644 --- a/g10/passphrase.c +++ b/g10/passphrase.c @@ -614,9 +614,12 @@ agent_get_passphrase ( u32 *keyid, int mode, const char *tryagain_text ) memset (fpr, 0, MAX_FINGERPRINT_LEN ); if( keyid && get_pubkey( pk, keyid ) ) - pk = NULL; /* oops: no key for some reason */ + { + free_public_key( pk ); + pk = NULL; /* oops: no key for some reason */ + } - if ( !mode && pk ) + if ( !mode && pk && keyid ) { char *uid; size_t uidlen; @@ -658,10 +661,10 @@ agent_get_passphrase ( u32 *keyid, int mode, const char *tryagain_text ) } } - else if (mode == 1 ) - atext = m_strdup ( _("Enter passphrase\n") ); - else + else if (mode == 2 ) atext = m_strdup ( _("Repeat passphrase\n") ); + else + atext = m_strdup ( _("Enter passphrase\n") ); if ( (fd = agent_open (&prot)) == -1 ) goto failure; |