aboutsummaryrefslogtreecommitdiffstats
path: root/g10/getkey.c
diff options
context:
space:
mode:
authorNeal H. Walfield <[email protected]>2015-09-16 12:03:50 +0000
committerNeal H. Walfield <[email protected]>2015-09-16 13:15:28 +0000
commit1b601de06a57c78537a336093d2531d8c58bc0d2 (patch)
treebb831665325cfde13dee9a70d5ec4ef1ff21c6ff /g10/getkey.c
parentg10: Improve documentation and comments for getkey.c. (diff)
downloadgnupg-1b601de06a57c78537a336093d2531d8c58bc0d2.tar.gz
gnupg-1b601de06a57c78537a336093d2531d8c58bc0d2.zip
g10: Release resources when returning an error in get_seckey.
* g10/getkey.c (get_seckey): If the key doesn't have a secret key, release *PK. -- Signed-off-by: Neal H. Walfield <[email protected]>.
Diffstat (limited to 'g10/getkey.c')
-rw-r--r--g10/getkey.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/g10/getkey.c b/g10/getkey.c
index 039934420..18ef84ef6 100644
--- a/g10/getkey.c
+++ b/g10/getkey.c
@@ -562,7 +562,11 @@ get_seckey (PKT_public_key *pk, u32 *keyid)
release_kbnode (keyblock);
if (!err)
- err = agent_probe_secret_key (/*ctrl*/NULL, pk);
+ {
+ err = agent_probe_secret_key (/*ctrl*/NULL, pk);
+ if (err)
+ release_public_key_parts (pk);
+ }
return err;
}