diff options
| author | Werner Koch <[email protected]> | 2025-07-31 08:59:03 +0000 |
|---|---|---|
| committer | Werner Koch <[email protected]> | 2025-07-31 08:59:03 +0000 |
| commit | 037e47981374fc72ea76b9b71e150b4786cc3ca6 (patch) | |
| tree | ec43ec3b4c70325cb86425953ab255619967c9db /tools/gpgtar-extract.c | |
| parent | Post release updates (diff) | |
| download | gnupg-037e47981374fc72ea76b9b71e150b4786cc3ca6.tar.gz gnupg-037e47981374fc72ea76b9b71e150b4786cc3ca6.zip | |
gpgtar: Fix regression in end-of-archive detection.
* tools/gpgtar-extract.c (gpgtar_extract): Detect end-of-archive and
break loop.
* tools/gpgtar-list.c (gpgtar_list): Ditto. Also do not print
"running failed" if the exitcode is 0.
--
GnuPG-bug-id: 7757
In the old code (gnupg 2.4) we did not call gnupg_release_process when
cleaning up the gpg process and thus it could keep on running and
deliver its output to the status-fd. The new code does a
gnupg_release_process which sends a SIGTERM to a not yet terminated
process and thus the output was cut off.
Diffstat (limited to 'tools/gpgtar-extract.c')
| -rw-r--r-- | tools/gpgtar-extract.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/tools/gpgtar-extract.c b/tools/gpgtar-extract.c index 5ec22e8f7..55a517220 100644 --- a/tools/gpgtar-extract.c +++ b/tools/gpgtar-extract.c @@ -525,6 +525,8 @@ gpgtar_extract (const char *filename, int decrypt) for (;;) { err = gpgtar_read_header (stream, tarinfo, &header, &extheader); + if (!err && !header) + break; /* End of archive. */ if (err || header == NULL) goto leave; |
