From e65f4e79e35d4ce70fd5639f78686702485936bd Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Wed, 1 Aug 2018 16:34:38 +0200 Subject: syz-manager/mgrconfig: better handling of unknown os/arch Produce a readable error instead of crashing on nil deref. --- syz-manager/mgrconfig/mgrconfig.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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) } -- cgit mrf-deployment