1
0
Fork 0
forked from mirrors/tar-split
tar-split/archive/tar
Joe Tsai ce5aac17f9 archive/tar: properly format GNU base-256 encoding
Motivation:
* Previous implementation silently failed when an integer overflow
occurred. Now, we report an ErrFieldTooLong.
* Previous implementation did not encode in two's complement format and was
unable to encode negative numbers.

The relevant GNU specification says:
<<<
GNU format uses two's-complement base-256 notation to store values
that do not fit into standard ustar range.
>>>

Fixes #12436

Change-Id: I09c20602eabf8ae3a7e0db35b79440a64bfaf807
Reviewed-on: https://go-review.googlesource.com/17425
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-02-03 06:58:30 -05:00
..
testdata archive/tar: convert Reader.Next to be loop based 2016-02-03 06:58:30 -05:00
common.go archive/tar: make output deterministic 2016-02-02 14:10:11 -05:00
example_test.go archive/tar: adding from go as of a9dddb53f 2015-02-11 14:08:03 +01:00
reader.go archive/tar: convert Reader.Next to be loop based 2016-02-03 06:58:30 -05:00
reader_test.go archive/tar: convert Reader.Next to be loop based 2016-02-03 06:58:30 -05:00
stat_atim.go archive/tar: adding from go as of a9dddb53f 2015-02-11 14:08:03 +01:00
stat_atimespec.go archive/tar: adding from go as of a9dddb53f 2015-02-11 14:08:03 +01:00
stat_unix.go archive/tar: don't treat multiple file system links as a tar hardlink 2015-08-21 00:15:22 -04:00
tar_test.go archive/tar: move round-trip reading into common os file 2015-08-21 00:15:22 -04:00
writer.go archive/tar: properly format GNU base-256 encoding 2016-02-03 06:58:30 -05:00
writer_test.go archive/tar: properly format GNU base-256 encoding 2016-02-03 06:58:30 -05:00