[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ***UNCHECKED*** delete.c flush_file() adds file size to current_bloc
From: |
Paul Eggert |
Subject: |
Re: ***UNCHECKED*** delete.c flush_file() adds file size to current_blocks w/o sanity check |
Date: |
Sun, 3 Mar 2024 13:38:45 -0800 |
User-agent: |
Mozilla Thunderbird |
Thanks for the bug report and test case. I'm puzzled about the symptoms
reported, as my copy of GNU tar 1.35, when built on Ubuntu 23.10 x86-64,
outputs this confusing diagnostic:
tar: rmtlseek not stopped at a record boundary
tar: Error is not recoverable: exiting now
when I run 'tar tvf gtar13c.tar', whereas your copy apparently does not.
However, your test case with 'tar --delete' indeed has a segmentation
violation.
I installed the attached three patches into the master repository
<https://savannah.gnu.org/git/?group=tar>. The first fixes the confusing
diagnostic. The second fixes an unchecked integer overflow nearby. And
the third should fix the bug you reported.
Thanks again.
0001-tar-improve-diagnostic-for-truncated-archive.patch
Description: Text Data
0002-tar-fix-unlikely-overflow.patch
Description: Text Data
0003-tar-fix-current_block-confusion.patch
Description: Text Data