From 95d0adfc56ecfb2bfcd1d93a187b97cc0c113304 Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Tue, 3 Jun 2025 11:12:37 +0900 Subject: gpgtar: Fix releasing PROC correctly. * tools/gpgtar-extract.c (gpgtar_extract): Initialize PROC as NULL, and release at the end for the case of jumping to "leave:" label. * tools/gpgtar-list.c (gpgtar_list): Release at the end. -- Fixes-commit: 29bc14f56f6430294f225b6744012ab1f5df62e6 Signed-off-by: NIIBE Yutaka --- tools/gpgtar-extract.c | 4 ++-- tools/gpgtar-list.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/gpgtar-extract.c b/tools/gpgtar-extract.c index 7f75ebd23..5ec22e8f7 100644 --- a/tools/gpgtar-extract.c +++ b/tools/gpgtar-extract.c @@ -381,7 +381,7 @@ gpgtar_extract (const char *filename, int decrypt) char *dirname = NULL; struct tarinfo_s tarinfo_buffer; tarinfo_t tarinfo = &tarinfo_buffer; - gpgrt_process_t proc; + gpgrt_process_t proc = NULL; char *logfilename = NULL; unsigned long long notextracted; @@ -559,7 +559,6 @@ gpgtar_extract (const char *filename, int decrypt) } leave: - /* fixme: Why can't we use gpgrt_process_release (proc); */ notextracted = tarinfo->skipped_badname; notextracted += tarinfo->skipped_suspicious; notextracted += tarinfo->skipped_symlinks; @@ -596,5 +595,6 @@ gpgtar_extract (const char *filename, int decrypt) xfree (logfilename); if (stream != es_stdin) es_fclose (stream); + gpgrt_process_release (proc); return err; } diff --git a/tools/gpgtar-list.c b/tools/gpgtar-list.c index 9bd568380..07056575d 100644 --- a/tools/gpgtar-list.c +++ b/tools/gpgtar-list.c @@ -593,11 +593,11 @@ gpgtar_list (const char *filename, int decrypt) } leave: - /* fixme: Why can't we use gpgrt_process_release (proc); */ free_strlist (extheader); xfree (header); if (stream != es_stdin) es_fclose (stream); + gpgrt_process_release (proc); return err; } -- cgit v1.2.3