From 2c717d9038f3e63ffd2bf1f1873299fc13670cf3 Mon Sep 17 00:00:00 2001 From: David Shaw Date: Tue, 11 Mar 2003 22:12:20 +0000 Subject: * 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. --- g10/passphrase.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'g10/passphrase.c') 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; -- cgit