diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2018-08-01 16:34:38 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2018-08-02 16:57:31 +0200 |
| commit | e65f4e79e35d4ce70fd5639f78686702485936bd (patch) | |
| tree | f9600590970c1735212c4e85f303aa4715a8828a | |
| parent | bdc8436c58b3952b79bdb590d85128f2a48fbc97 (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.go | 6 |
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) } |
