Skip to content

Commit fe96b3e

Browse files
committed
Code refactoring
1 parent e66ba4b commit fe96b3e

5 files changed

Lines changed: 13 additions & 24 deletions

File tree

gz/gz.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ var (
4444

4545
// ////////////////////////////////////////////////////////////////////////////////// //
4646

47-
// Unpacks file to given directory
47+
// Unpack unpacks archive file to given directory
4848
func Unpack(file, dir string, options Options) error {
4949
switch {
5050
case file == "":

lz4/lz4.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -78,11 +78,6 @@ func Read(r io.Reader, output string) error {
7878
defer fd.Close()
7979

8080
cr := lz4.NewReader(r)
81-
82-
if err != nil {
83-
return err
84-
}
85-
8681
bw := bufio.NewWriter(fd)
8782
_, err = io.Copy(bw, cr)
8883

tar/tar.go

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ const DEFAULT_DIR_MODE os.FileMode = 0750
3030

3131
// ////////////////////////////////////////////////////////////////////////////////// //
3232

33+
// Options is reader options
3334
type Options struct {
3435
// MaxReadLimit is the maximum read limit for decompression bomb
3536
// protection (default: 1GB)
@@ -154,25 +155,17 @@ func createDir(h *tar.Header, path string, options Options) error {
154155

155156
// createFile creates new file
156157
func createFile(h *tar.Header, r io.Reader, path string, options Options) error {
157-
dir := filepath.Dir(path)
158-
_, err := os.Stat(dir)
159-
160158
mode := options.DirMode
159+
dir := filepath.Dir(path)
161160

162161
if mode == 0 {
163162
mode = DEFAULT_DIR_MODE
164163
}
165164

166-
if err != nil {
167-
if !os.IsNotExist(err) {
168-
return err
169-
}
165+
err := os.MkdirAll(dir, mode)
170166

171-
err = os.MkdirAll(dir, mode)
172-
173-
if err != nil {
174-
return err
175-
}
167+
if err != nil {
168+
return err
176169
}
177170

178171
fd, err := os.OpenFile(path, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, h.FileInfo().Mode())

utils/utils.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,21 +49,22 @@ func Join(root string, elem ...string) (string, error) {
4949
}
5050
}
5151

52-
if IsExternalPath(root, result) {
52+
if isExternalPath(root, result) {
5353
return "", fmt.Errorf("final destination (%s) is outside root (%s)", result, root)
5454
}
5555

5656
return result, nil
5757
}
5858

59-
// IsExternalPath returns true if given path is outside of root
60-
func IsExternalPath(root, path string) bool {
59+
// ////////////////////////////////////////////////////////////////////////////////// //
60+
61+
// isExternalPath returns true if given path is outside of root
62+
func isExternalPath(root, path string) bool {
6163
rel, err := filepath.Rel(root, path)
6264
return err != nil || strings.HasPrefix(rel, "..")
6365
}
6466

65-
// ////////////////////////////////////////////////////////////////////////////////// //
66-
67+
// isLink returns true if given object is symlink
6768
func isLink(path string) bool {
6869
fi, err := os.Lstat(path)
6970
return err == nil && fi.Mode()&os.ModeSymlink != 0

zip/zip.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ func Read(r io.ReaderAt, size int64, dir string, options Options) error {
7171
case dir == "":
7272
return ErrEmptyOutput
7373
case size <= 0:
74-
return fmt.Errorf("invalid data size (%d < 0)", size)
74+
return fmt.Errorf("invalid data size (%d 0)", size)
7575
}
7676

7777
zr, err := zip.NewReader(r, size)

0 commit comments

Comments
 (0)