diff options
author | Sergey Poznyakoff <gray@gnu.org> | 2023-02-21 13:57:36 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org> | 2023-02-21 14:00:32 +0200 |
commit | 4177c98bcc4ce4c89e50ff7d60d3e5662754b140 (patch) | |
tree | 63323cfcd93b1853f48986f78f58a7ef5676fbb5 /src | |
parent | 5e8a915b16c5f06d2a16d98cdc2af666199caabb (diff) | |
download | tar-4177c98bcc4ce4c89e50ff7d60d3e5662754b140.tar.gz |
Detect EOF when deleting from archive.
See https://savannah.gnu.org/bugs/?63823
* src/delete.c (flush_file): Break the loop on EOF.
* tests/delete06.at: New test.
* tests/Makefile.am: Add new test.
* tests/testsuite.at: Likewise.
Diffstat (limited to 'src')
-rw-r--r-- | src/delete.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/delete.c b/src/delete.c index 728af735..fe89eb6e 100644 --- a/src/delete.c +++ b/src/delete.c @@ -149,6 +149,9 @@ flush_file (void) { blocks_to_skip -= (record_end - current_block); flush_archive (); + if (record_end == current_block) + /* Hit EOF */ + break; } current_block += blocks_to_skip; } |