diff options
author | Jakub Jelen <[email protected]> | 2021-05-20 08:13:51 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2021-05-20 11:38:39 +0000 |
commit | 2af7bb2295cda5377546cedd0c906a3cff4d2427 (patch) | |
tree | 3e912bccb258941b085959201b6c81b8940339a5 /g10/tofu.c | |
parent | dirmgr: clean up memory on error code paths (diff) | |
download | gnupg-2af7bb2295cda5377546cedd0c906a3cff4d2427.tar.gz gnupg-2af7bb2295cda5377546cedd0c906a3cff4d2427.zip |
g10: Fix memory leaks
* g10/card-util.c (change_pin): free answer on errors
(ask_card_keyattr): free answer on error
* g10/cpr.c (do_get_from_fd): free string
* g10/gpg.c (check_permissions): free dir on weird error
* g10/import.c (append_new_uid): release knode
* g10/keyedit.c (menu_set_keyserver_url): free answer
(menu_set_keyserver_url): free user
* g10/keygen.c (print_status_key_not_created): move allocation after
sanity check
(ask_expire_interval): free answer
(card_store_key_with_backup): goto leave instaed of return
* g10/keyserver.c (parse_keyserver_uri): goto fail instead of return
* g10/revoke.c (gen_desig_revoke): release kdbhd
(gen_desig_revoke): free answer
* g10/tofu.c (ask_about_binding): free sqerr and response
* g10/trustdb.c (ask_ownertrust): free pk
--
Signed-off-by: Jakub Jelen <[email protected]>
Further changes:
* g10/card-util.c (change_pin): Do not set answer to NULL.
* g10/keyedit.c(menu_set_keyserver_url): Use !func() pattern.
Signed-off-by: Werner Koch <[email protected]>
GnuPG-bug-id: 5393
Diffstat (limited to 'g10/tofu.c')
-rw-r--r-- | g10/tofu.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/g10/tofu.c b/g10/tofu.c index f49083844..83786a08d 100644 --- a/g10/tofu.c +++ b/g10/tofu.c @@ -1687,6 +1687,8 @@ ask_about_binding (ctrl_t ctrl, GPGSQL_ARG_END); if (rc) { + sqlite3_free (sqerr); + sqerr = NULL; rc = gpg_error (GPG_ERR_GENERAL); break; } @@ -1972,6 +1974,7 @@ ask_about_binding (ctrl_t ctrl, else if (!response[0]) /* Default to unknown. Don't save it. */ { + xfree (response); tty_printf (_("Defaulting to unknown.\n")); *policy = TOFU_POLICY_UNKNOWN; break; @@ -1983,6 +1986,7 @@ ask_about_binding (ctrl_t ctrl, if (choice) { int c = ((size_t) choice - (size_t) choices) / 2; + xfree (response); switch (c) { |