@@ -18,7 +18,7 @@ var errAlgorithm = errors.New("sevenzip: unsupported compression algorithm")
1818
1919// CryptoReadCloser adds a Password method to decompressors.
2020type CryptoReadCloser interface {
21- Password (string ) error
21+ Password (password string ) error
2222}
2323
2424type signatureHeader struct {
@@ -97,7 +97,7 @@ func (f *folder) coderReader(readers []io.ReadCloser, coder uint64, password str
9797 }
9898 }
9999
100- return plumbing .LimitReadCloser (cr , int64 (f .size [coder ])), nil
100+ return plumbing .LimitReadCloser (cr , int64 (f .size [coder ])), nil //nolint:gosec
101101}
102102
103103type folderReadCloser struct {
@@ -118,7 +118,7 @@ func (rc *folderReadCloser) Seek(offset int64, whence int) (int64, error) {
118118 case io .SeekStart :
119119 newo = offset
120120 case io .SeekCurrent :
121- newo = int64 (rc .wc .Count ()) + offset
121+ newo = int64 (rc .wc .Count ()) + offset //nolint:gosec
122122 case io .SeekEnd :
123123 newo = rc .Size () + offset
124124 default :
@@ -129,15 +129,15 @@ func (rc *folderReadCloser) Seek(offset int64, whence int) (int64, error) {
129129 return 0 , errors .New ("negative seek" )
130130 }
131131
132- if newo < int64 ( rc .wc .Count () ) {
132+ if uint64 ( newo ) < rc .wc .Count () {
133133 return 0 , errors .New ("cannot seek backwards" )
134134 }
135135
136136 if newo > rc .Size () {
137137 return 0 , errors .New ("cannot seek beyond EOF" )
138138 }
139139
140- if _ , err := io .CopyN (io .Discard , rc , newo - int64 (rc .wc .Count ())); err != nil {
140+ if _ , err := io .CopyN (io .Discard , rc , newo - int64 (rc .wc .Count ())); err != nil { //nolint:gosec
141141 return 0 , err
142142 }
143143
@@ -232,7 +232,7 @@ func (si *streamsInfo) folderOffset(folder int) int64 {
232232 k += si .unpackInfo .folder [i ].packedStreams
233233 }
234234
235- return int64 (si .packInfo .position + offset )
235+ return int64 (si .packInfo .position + offset ) //nolint:gosec
236236}
237237
238238//nolint:cyclop,funlen
@@ -249,7 +249,7 @@ func (si *streamsInfo) FolderReader(r io.ReaderAt, folder int, password string)
249249 offset := int64 (0 )
250250
251251 for i , input := range f .packed {
252- size := int64 (si .packInfo .size [packedOffset + i ])
252+ size := int64 (si .packInfo .size [packedOffset + i ]) //nolint:gosec
253253 in [input ] = util .NopCloser (bufio .NewReader (io .NewSectionReader (r , si .folderOffset (folder )+ offset , size )))
254254 offset += size
255255 }
@@ -297,7 +297,7 @@ func (si *streamsInfo) FolderReader(r io.ReaderAt, folder int, password string)
297297 return nil , 0 , errors .New ("expecting one unbound output stream" )
298298 }
299299
300- fr := newFolderReadCloser (out [unbound [0 ]], int64 (f .unpackSize ()))
300+ fr := newFolderReadCloser (out [unbound [0 ]], int64 (f .unpackSize ())) //nolint:gosec
301301
302302 if si .unpackInfo .digest != nil {
303303 return fr , si .unpackInfo .digest [folder ], nil
@@ -344,7 +344,7 @@ type headerFileInfo struct {
344344}
345345
346346func (fi headerFileInfo ) Name () string { return path .Base (fi .fh .Name ) }
347- func (fi headerFileInfo ) Size () int64 { return int64 (fi .fh .UncompressedSize ) }
347+ func (fi headerFileInfo ) Size () int64 { return int64 (fi .fh .UncompressedSize ) } //nolint:gosec
348348func (fi headerFileInfo ) IsDir () bool { return fi .Mode ().IsDir () }
349349func (fi headerFileInfo ) ModTime () time.Time { return fi .fh .Modified .UTC () }
350350func (fi headerFileInfo ) Mode () fs.FileMode { return fi .fh .Mode () }
0 commit comments