diff options
| author | baishuai <baishuai.io@gmail.com> | 2017-05-20 14:56:26 +0800 |
|---|---|---|
| committer | baishuai <baishuai.io@gmail.com> | 2017-05-21 12:47:51 +0800 |
| commit | 118ec7aea52cd0bb61b3eb0c278e831977b8708d (patch) | |
| tree | a7468a1a35ea17f96083fbbd357ecee9a78ec705 /vm | |
| parent | ea8a55cd916442d4643bca92c2fe7d638f7e9746 (diff) | |
vm: validate if cfg.Bin is in $PATH for kvm,adb,qemu
Diffstat (limited to 'vm')
| -rw-r--r-- | vm/adb/adb.go | 7 | ||||
| -rw-r--r-- | vm/kvm/kvm.go | 3 | ||||
| -rw-r--r-- | vm/qemu/qemu.go | 3 |
3 files changed, 12 insertions, 1 deletions
diff --git a/vm/adb/adb.go b/vm/adb/adb.go index 79ef2b0cd..6e01869b8 100644 --- a/vm/adb/adb.go +++ b/vm/adb/adb.go @@ -53,7 +53,9 @@ func ctor(cfg *vm.Config) (vm.Instance, error) { return nil, err } // Remove temp files from previous runs. - inst.adb("shell", "rm -Rf /data/syzkaller*") + if _, err := inst.adb("shell", "rm -Rf /data/syzkaller*"); err != nil { + return nil, err + } closeInst = nil return inst, nil } @@ -62,6 +64,9 @@ func validateConfig(cfg *vm.Config) error { if cfg.Bin == "" { cfg.Bin = "adb" } + if _, err := exec.LookPath(cfg.Bin); err != nil { + return err + } if !regexp.MustCompile("[0-9A-F]+").MatchString(cfg.Device) { return fmt.Errorf("invalid adb device id '%v'", cfg.Device) } diff --git a/vm/kvm/kvm.go b/vm/kvm/kvm.go index 38cfba5e5..e13b68e11 100644 --- a/vm/kvm/kvm.go +++ b/vm/kvm/kvm.go @@ -151,6 +151,9 @@ func validateConfig(cfg *vm.Config) error { if cfg.Bin == "" { cfg.Bin = "lkvm" } + if _, err := exec.LookPath(cfg.Bin); err != nil { + return err + } if cfg.Image != "" { return fmt.Errorf("lkvm does not support custom images") } diff --git a/vm/qemu/qemu.go b/vm/qemu/qemu.go index d9c37c822..e0c5f6ad0 100644 --- a/vm/qemu/qemu.go +++ b/vm/qemu/qemu.go @@ -95,6 +95,9 @@ func validateConfig(cfg *vm.Config) error { if cfg.Bin == "" { cfg.Bin = "qemu-system-x86_64" } + if _, err := exec.LookPath(cfg.Bin); err != nil { + return err + } if cfg.Image == "9p" { if cfg.Kernel == "" { return fmt.Errorf("9p image requires kernel") |
