]> Cypherpunks repositories - gostls13.git/commitdiff
misc/dist: check return value from filepath.Walk
authorBrad Fitzpatrick <bradfitz@golang.org>
Tue, 3 Apr 2012 19:33:22 +0000 (12:33 -0700)
committerBrad Fitzpatrick <bradfitz@golang.org>
Tue, 3 Apr 2012 19:33:22 +0000 (12:33 -0700)
Doesn't fix any known issue. This bit me in some unrelated
code and I thought of this tool.

R=golang-dev, krautz, mikkel
CC=golang-dev
https://golang.org/cl/5976067

misc/dist/bindist.go

index a0557f4a387de736dba40368101dd17f5b87bbf4..ce50a591f9f7963632d28f4079796c2798cc15f6 100644 (file)
@@ -556,7 +556,7 @@ func makeTar(targ, workdir string) error {
        zout := gzip.NewWriter(f)
        tw := tar.NewWriter(zout)
 
-       filepath.Walk(workdir, filepath.WalkFunc(func(path string, fi os.FileInfo, err error) error {
+       err = filepath.Walk(workdir, func(path string, fi os.FileInfo, err error) error {
                if !strings.HasPrefix(path, workdir) {
                        log.Panicf("walked filename %q doesn't begin with workdir %q", path, workdir)
                }
@@ -605,8 +605,10 @@ func makeTar(targ, workdir string) error {
                defer r.Close()
                _, err = io.Copy(tw, r)
                return err
-       }))
-
+       })
+       if err != nil {
+               return err
+       }
        if err := tw.Close(); err != nil {
                return err
        }
@@ -623,7 +625,7 @@ func makeZip(targ, workdir string) error {
        }
        zw := zip.NewWriter(f)
 
-       filepath.Walk(workdir, filepath.WalkFunc(func(path string, fi os.FileInfo, err error) error {
+       err = filepath.Walk(workdir, func(path string, fi os.FileInfo, err error) error {
                if fi.IsDir() {
                        return nil
                }
@@ -664,8 +666,10 @@ func makeZip(targ, workdir string) error {
                defer r.Close()
                _, err = io.Copy(w, r)
                return err
-       }))
-
+       })
+       if err != nil {
+               return err
+       }
        if err := zw.Close(); err != nil {
                return err
        }