diff options
author | NIIBE Yutaka <[email protected]> | 2024-11-11 00:51:54 +0000 |
---|---|---|
committer | NIIBE Yutaka <[email protected]> | 2024-11-11 00:51:54 +0000 |
commit | b1f2695d24a8ab341d71b8cf65351b7ceed16e1b (patch) | |
tree | cc7398682e3c88651fba3bddf3a4c646043eb2bd /scd/app-dinsig.c | |
parent | gpg: Improve wording for only-pubkeys. (diff) | |
download | gnupg-b1f2695d24a8ab341d71b8cf65351b7ceed16e1b.tar.gz gnupg-b1f2695d24a8ab341d71b8cf65351b7ceed16e1b.zip |
scd: Fix resource leaks on error paths.
* scd/app-dinsig.c (do_readcert): Don't return directly but care about
releasing memory.
* scd/app-nks.c (readcert_from_ef): Likewise.
--
Signed-off-by: NIIBE Yutaka <[email protected]>
Diffstat (limited to 'scd/app-dinsig.c')
-rw-r--r-- | scd/app-dinsig.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/scd/app-dinsig.c b/scd/app-dinsig.c index 990de3405..be3019ee1 100644 --- a/scd/app-dinsig.c +++ b/scd/app-dinsig.c @@ -226,7 +226,10 @@ do_readcert (app_t app, const char *certid, else if ( class == CLASS_UNIVERSAL && tag == TAG_SET && constructed ) rootca = 1; else - return gpg_error (GPG_ERR_INV_OBJ); + { + err = gpg_error (GPG_ERR_INV_OBJ); + goto leave; + } totobjlen = objlen + hdrlen; log_assert (totobjlen <= buflen); |