aboutsummaryrefslogtreecommitdiffstats
path: root/g10/passphrase.c
diff options
context:
space:
mode:
authorDavid Shaw <[email protected]>2003-03-11 22:12:20 +0000
committerDavid Shaw <[email protected]>2003-03-11 22:12:20 +0000
commit2c717d9038f3e63ffd2bf1f1873299fc13670cf3 (patch)
tree8424a23110cdcd7185ddfb5bba03c8b71b26894d /g10/passphrase.c
parent* http.c (connect_server): Use DNS SRV to get a server list. Fail over to (diff)
downloadgnupg-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.c13
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;