diff options
| author | Jakub Jelen <[email protected]> | 2021-05-20 08:13:51 +0000 |
|---|---|---|
| committer | Werner Koch <[email protected]> | 2021-05-20 11:38:07 +0000 |
| commit | a95ddffdcd58383cce93677be5e7e11c5c229a98 (patch) | |
| tree | 3705ec520ecc77efa85f07a85c66b47e9b162dca /agent/cvt-openpgp.c | |
| parent | dirmngr: For KS_SEARCH return the fingerprint also with LDAP. (diff) | |
| download | gnupg-a95ddffdcd58383cce93677be5e7e11c5c229a98.tar.gz gnupg-a95ddffdcd58383cce93677be5e7e11c5c229a98.zip | |
agent: Avoid memory leaks in error code paths.
* agent/command.c (cmd_genkey): Use goto instead of return.
* agent/cvt-openpgp.c (convert_from_openpgp_main): Ditto.
* agent/genkey.c (agent_ask_new_passphrase): Fix typo to free correct
pointer
(agent_genkey): Release memory
* agent/gpg-agent.c (check_own_socket): Free sockname
* agent/protect-tool.c (read_key): Free buf.
(agent_askpin): Free passphrase
--
Signed-off-by: Jakub Jelen <[email protected]>
Changed original patch to not add a free before a GPG_ERR_BUG.
Signed-off-by: Werner Koch <[email protected]>
GnuPG-bug-id: 5393
Diffstat (limited to 'agent/cvt-openpgp.c')
| -rw-r--r-- | agent/cvt-openpgp.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/agent/cvt-openpgp.c b/agent/cvt-openpgp.c index 3da553f95..53c88154b 100644 --- a/agent/cvt-openpgp.c +++ b/agent/cvt-openpgp.c @@ -964,7 +964,10 @@ convert_from_openpgp_main (ctrl_t ctrl, gcry_sexp_t s_pgp, int dontcare_exist, pi = xtrycalloc_secure (1, sizeof (*pi) + MAX_PASSPHRASE_LEN + 1); if (!pi) - return gpg_error_from_syserror (); + { + err = gpg_error_from_syserror (); + goto leave; + } pi->max_length = MAX_PASSPHRASE_LEN + 1; pi->min_digits = 0; /* We want a real passphrase. */ pi->max_digits = 16; |
