bug-tar
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-tar] Issue with tar. Bug file.


From: Pulkit Bhuwalka
Subject: Re: [Bug-tar] Issue with tar. Bug file.
Date: Mon, 23 Sep 2013 22:48:05 -0400


I am not sure of the internals of implementation, but in my mind 'tar' should never overwrite a file unless with explicit permission (possibly with an -f flag). That way whether arguments were passed in the wrong order or a user tries to create an archive when it already exists, it should simply fail and complain.

I don't know if the problems are technical or due to backward compatibility.

Best




On Mon, Sep 23, 2013 at 7:53 PM, Connor Behan <address@hidden> wrote:
On 23/09/13 02:16 AM, Joerg Schilling wrote:
> Pulkit Bhuwalka <address@hidden> wrote:
>
>> Hi,
>>
>> This is to report an issue that I have run into while using tar.
>>
>> *Issue* - tar destroys file when arguments are passed in wrong order
>> leading to loss of data.
>>
>> *Correct tar order* - tar -cvzf "archive_file_name" "file_to_be_archived"
>>
>> *Order actually passed* - tar - cvzf "file_to_be_archived"
>> "archive_file_name"
>>
>> tar ignores the fact that the "file_to_be_archived" exists and simply
>> overwrites it, and then crashes out complaining that "archive_file_name"
>> doesn't exist.
> ....A problem that is known since before GNU tar exists...
>
> This is typical "tar" behavior and this is why "star" did never allow this in
> case it was called as "star". When keeping compatibility with the SUSv2 standard,
> I see no easy way to work around the problem.
>
> Jörg
>
What about the patch I just sent? It would make it slightly harder to
trigger this problem. The relevant part of the SUSv2 standard is the
line that says archives are written from the beginning instead of after
the last file, right? I think the patch still follows that by
overwriting existing archives as long as it can dump a file that exists.




--
Pulkit


reply via email to

[Prev in Thread] Current Thread [Next in Thread]