aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2018-08-01 16:34:38 +0200
committerDmitry Vyukov <dvyukov@google.com>2018-08-02 16:57:31 +0200
commite65f4e79e35d4ce70fd5639f78686702485936bd (patch)
treef9600590970c1735212c4e85f303aa4715a8828a
parentbdc8436c58b3952b79bdb590d85128f2a48fbc97 (diff)
syz-manager/mgrconfig: better handling of unknown os/arch
Produce a readable error instead of crashing on nil deref.
-rw-r--r--syz-manager/mgrconfig/mgrconfig.go6
1 files changed, 5 insertions, 1 deletions
diff --git a/syz-manager/mgrconfig/mgrconfig.go b/syz-manager/mgrconfig/mgrconfig.go
index d90e6cf51..54c856a85 100644
--- a/syz-manager/mgrconfig/mgrconfig.go
+++ b/syz-manager/mgrconfig/mgrconfig.go
@@ -169,7 +169,11 @@ func Complete(cfg *Config) error {
return fmt.Errorf("config param syzkaller is empty")
}
cfg.Syzkaller = osutil.Abs(cfg.Syzkaller)
- exe := targets.Get(cfg.TargetOS, cfg.TargetArch).ExeExtension
+ sysTarget := targets.Get(cfg.TargetOS, cfg.TargetArch)
+ if sysTarget == nil {
+ return fmt.Errorf("unsupported OS/arch: %v/%v", cfg.TargetOS, cfg.TargetArch)
+ }
+ exe := sysTarget.ExeExtension
targetBin := func(name, arch string) string {
return filepath.Join(cfg.Syzkaller, "bin", cfg.TargetOS+"_"+arch, name+exe)
}