diff --git a/src/cmd/moby/build.go b/src/cmd/moby/build.go index de6f49bf3..3377ec91d 100644 --- a/src/cmd/moby/build.go +++ b/src/cmd/moby/build.go @@ -27,7 +27,9 @@ func build(args []string) { buildName := buildCmd.String("name", "", "Name to use for output files") buildPull := buildCmd.Bool("pull", false, "Always pull images") - buildCmd.Parse(args) + if err := buildCmd.Parse(args); err != nil { + log.Fatal("Unable to parse args") + } remArgs := buildCmd.Args() if len(remArgs) == 0 { diff --git a/src/cmd/moby/gcp.go b/src/cmd/moby/gcp.go index 65ad3c202..96d6ba43b 100644 --- a/src/cmd/moby/gcp.go +++ b/src/cmd/moby/gcp.go @@ -401,10 +401,15 @@ func (g GCPClient) ConnectToInstanceSerialPort(instance, zone string) error { } } - session.RequestPty("xterm", termHeight, termWidth, ssh.TerminalModes{ + if err = session.RequestPty("xterm", termHeight, termWidth, ssh.TerminalModes{ ssh.ECHO: 1, - }) - session.Shell() + }); err != nil { + return err + } + + if err = session.Shell(); err != nil { + return err + } err = session.Wait() //exit <- true diff --git a/src/cmd/moby/image.go b/src/cmd/moby/image.go index c00f0b528..5c132f6ac 100644 --- a/src/cmd/moby/image.go +++ b/src/cmd/moby/image.go @@ -79,7 +79,9 @@ func tarPrefix(path string, tw *tar.Writer) error { Mode: 0755, Typeflag: tar.TypeDir, } - tw.WriteHeader(hdr) + if err := tw.WriteHeader(hdr); err != nil { + return err + } mkdir = mkdir + "/" } return nil @@ -118,21 +120,37 @@ func imageTar(image, prefix string, tw *tar.Writer) error { } if exclude[hdr.Name] { log.Debugf("image tar: %s %s exclude %s", image, prefix, hdr.Name) - io.Copy(ioutil.Discard, tr) + _, err = io.Copy(ioutil.Discard, tr) + if err != nil { + return err + } } else if replace[hdr.Name] != "" { contents := replace[hdr.Name] hdr.Size = int64(len(contents)) hdr.Name = prefix + hdr.Name log.Debugf("image tar: %s %s add %s", image, prefix, hdr.Name) - tw.WriteHeader(hdr) + if err := tw.WriteHeader(hdr); err != nil { + return err + } buf := bytes.NewBufferString(contents) - io.Copy(tw, buf) - io.Copy(ioutil.Discard, tr) + _, err = io.Copy(tw, buf) + if err != nil { + return err + } + _, err = io.Copy(ioutil.Discard, tr) + if err != nil { + return err + } } else { log.Debugf("image tar: %s %s add %s", image, prefix, hdr.Name) hdr.Name = prefix + hdr.Name - tw.WriteHeader(hdr) - io.Copy(tw, tr) + if err := tw.WriteHeader(hdr); err != nil { + return err + } + _, err = io.Copy(tw, tr) + if err != nil { + return err + } } } err = tw.Close() diff --git a/src/cmd/moby/run_gcp.go b/src/cmd/moby/run_gcp.go index 9b88ebf95..85b9fa191 100644 --- a/src/cmd/moby/run_gcp.go +++ b/src/cmd/moby/run_gcp.go @@ -41,7 +41,9 @@ func runGcp(args []string) { publicFlag := gcpCmd.Bool("public", false, "Select if file on GS should be public. *Optional* when 'prefix' is a filename") familyFlag := gcpCmd.String("family", "", "GCP Image Family. A group of images where the family name points to the most recent image. *Optional* when 'prefix' is a filename") nameFlag := gcpCmd.String("img-name", "", "Overrides the Name used to identify the file in Google Storage, Image and Instance. Defaults to [name]") - gcpCmd.Parse(args) + if err := gcpCmd.Parse(args); err != nil { + log.Fatal("Unable to parse args") + } remArgs := gcpCmd.Args() if len(remArgs) == 0 { diff --git a/src/cmd/moby/run_hyperkit.go b/src/cmd/moby/run_hyperkit.go index c3d29b1b2..23bac9c13 100644 --- a/src/cmd/moby/run_hyperkit.go +++ b/src/cmd/moby/run_hyperkit.go @@ -30,7 +30,9 @@ func runHyperKit(args []string) { data := hyperkitCmd.String("data", "", "Metadata to pass to VM (either a path to a file or a string)") ipStr := hyperkitCmd.String("ip", "", "IP address for the VM") - hyperkitCmd.Parse(args) + if err := hyperkitCmd.Parse(args); err != nil { + log.Fatal("Unable to parse args") + } remArgs := hyperkitCmd.Args() if len(remArgs) == 0 { fmt.Println("Please specify the prefix to the image to boot\n") @@ -59,7 +61,9 @@ func runHyperKit(args []string) { if err != nil { log.Fatalf("Cannot write user data ISO: %v", err) } - outfh.Close() + if err = outfh.Close(); err != nil { + log.Fatalf("Cannot close output ISO: %v", err) + } } uuidStr := "" diff --git a/src/cmd/moby/run_qemu.go b/src/cmd/moby/run_qemu.go index f45056d1a..ccc21c875 100644 --- a/src/cmd/moby/run_qemu.go +++ b/src/cmd/moby/run_qemu.go @@ -36,7 +36,9 @@ func runQemu(args []string) { qemuCPUs := qemuFlags.String("cpus", "1", "Number of CPUs") qemuMem := qemuFlags.String("mem", "1024", "Amount of memory in MB") - qemuFlags.Parse(args) + if err := qemuFlags.Parse(args); err != nil { + log.Fatal("Unable to parse args") + } remArgs := qemuFlags.Args() if len(remArgs) == 0 { diff --git a/src/cmd/moby/run_vmware.go b/src/cmd/moby/run_vmware.go index a11af58af..08465cca7 100644 --- a/src/cmd/moby/run_vmware.go +++ b/src/cmd/moby/run_vmware.go @@ -70,7 +70,9 @@ func runVMware(args []string) { runMem := vmwareArgs.Int("mem", 1024, "Amount of memory in MB") runDisk := vmwareArgs.String("disk", "", "Path to disk image to use") - vmwareArgs.Parse(args) + if err := vmwareArgs.Parse(args); err != nil { + log.Fatal("Unable to parse args") + } remArgs := vmwareArgs.Args() if len(remArgs) == 0 {