diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2025-04-02 04:20:56 -0700 |
|---|---|---|
| committer | Aleksandr Nogikh <nogikh@google.com> | 2025-04-02 14:41:32 +0000 |
| commit | b0cc4801a294a67648c4f2b8232e3e1212c0fe43 (patch) | |
| tree | 7e3dc2d3af53111ad30cae669239230b1a5bb956 /syz-manager/manager.go | |
| parent | 8079433f581666f7c03c02f05ba46bfe2b3a8a0a (diff) | |
syz-manager: fix panic in debug mode
When running in debug mode, mgr.vmPool.Count()-mgr.cfg.FuzzingVMs
can become negative even for a valid config since we reduce
number of VMs to 1.
NewReproLoop panics when VM count argument is negative
since it passes it to make chan.
Cap number of repro VMs at 0.
Diffstat (limited to 'syz-manager/manager.go')
| -rw-r--r-- | syz-manager/manager.go | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/syz-manager/manager.go b/syz-manager/manager.go index a6bdbd5ae..28c9ecb12 100644 --- a/syz-manager/manager.go +++ b/syz-manager/manager.go @@ -359,7 +359,8 @@ func RunManager(mode *Mode, cfg *mgrconfig.Config) { } mgr.pool = vm.NewDispatcher(mgr.vmPool, mgr.fuzzerInstance) mgr.http.Pool = mgr.pool - mgr.reproLoop = manager.NewReproLoop(mgr, mgr.vmPool.Count()-mgr.cfg.FuzzingVMs, mgr.cfg.DashboardOnlyRepro) + reproVMs := max(0, mgr.vmPool.Count()-mgr.cfg.FuzzingVMs) + mgr.reproLoop = manager.NewReproLoop(mgr, reproVMs, mgr.cfg.DashboardOnlyRepro) mgr.http.ReproLoop = mgr.reproLoop mgr.http.TogglePause = mgr.pool.TogglePause |
