From ffed3ade19c25fc6b0d5286e35873a0387fbfb4d Mon Sep 17 00:00:00 2001 From: David Symonds Date: Sun, 9 Aug 2009 15:03:30 -0700 Subject: [PATCH] Regenerate v7.tar with a real V7 tar. Fix octal parsing that it unearthed. R=rsc APPROVED=rsc DELTA=11 (5 added, 0 deleted, 6 changed) OCL=32924 CL=32945 --- src/pkg/archive/tar/reader.go | 7 ++++++- src/pkg/archive/tar/reader_test.go | 8 ++++---- src/pkg/archive/tar/testdata/v7.tar | Bin 3072 -> 3584 bytes 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/pkg/archive/tar/reader.go b/src/pkg/archive/tar/reader.go index 7e8f617b00..56b840448a 100644 --- a/src/pkg/archive/tar/reader.go +++ b/src/pkg/archive/tar/reader.go @@ -75,7 +75,12 @@ func cString(b []byte) string { } func (tr *Reader) octal(b []byte) int64 { - if len(b) > 0 && b[len(b)-1] == ' ' { + // Removing leading spaces. + for len(b) > 0 && b[0] == ' ' { + b = b[1:len(b)]; + } + // Removing trailing NULs and spaces. + for len(b) > 0 && (b[len(b)-1] == ' ' || b[len(b)-1] == '\x00') { b = b[0:len(b)-1]; } x, err := strconv.Btoui64(cString(b), 8); diff --git a/src/pkg/archive/tar/reader_test.go b/src/pkg/archive/tar/reader_test.go index a3a02978a7..428f73e60b 100644 --- a/src/pkg/archive/tar/reader_test.go +++ b/src/pkg/archive/tar/reader_test.go @@ -84,20 +84,20 @@ var untarTests = []*untarTest{ headers: []*Header{ &Header{ Name: "small.txt", - Mode: 0640, + Mode: 0444, Uid: 73025, Gid: 5000, Size: 5, - Mtime: 1246508266, + Mtime: 1244593104, Typeflag: '\x00', }, &Header{ Name: "small2.txt", - Mode: 0640, + Mode: 0444, Uid: 73025, Gid: 5000, Size: 11, - Mtime: 1245217492, + Mtime: 1244593104, Typeflag: '\x00', }, }, diff --git a/src/pkg/archive/tar/testdata/v7.tar b/src/pkg/archive/tar/testdata/v7.tar index dd33f92ffad5343d19a36f20814c85e935b08008..eb65fc9410721efd98cb7c5e274f547ec530252d 100644 GIT binary patch literal 3584 zcmeHH&ubGw6n?3{z(^13q0owB@t_Dbv)ODTf|dgec!sXT^AK{$jKc@-kWdUe(&uh-&e0L+xARj zwLzm>LI~3|1sT#R&XkBIzWbfCPrYEK7fr^Q@7vXO;&pw$QCTT3-?&yO+jq(<{6qS`FS_vP zIBhMBjnmsnS~{|C9LMN8#r!W{zj5l&zcE?^U_t*||1zJ{zqInH{-Zy}2$O|c?WSFx zxn8RtM3-UpAJiW`Z@Zar#$ojz)NjtWBfnULUzD=jj5!>iG>O2k{o(=ZAg=$-urC7q zVm{n!{kK`S@p|Vk`q%aFg#nw)bMB-40yAj*%7=F37m@ziFINBH7pTSD@Cfil^^9T6 zxL-iu+Aq)#ev#CF(l2&S@A^eC<`;^e4{ZQ#s9$Y4r}$iP3;;e3V;a&MNN*s$f%FFc H(;N5+1FUK9 literal 3072 zcmeH{Jqp7x423oK6gffAPpllFLrxJwDFp`)_R!hXfbP<&j%;aSqdeAW*IU x?7IN08ejWQV*R(BK*E#tf5sI3KjZ&gOS$LUxRw2KMqFeBfglhBg20aucma2