mirror of
https://github.com/chainreactors/spray.git
synced 2026-10-29 03:50:47 +00:00
Bug fixes: - Defer scopeLocker.Unlock in doScopeCrawl (deadlock on panic) - Defer statsMu.Unlock in recordStat (deadlock on panic) - Defer RUnlock in resource_provider.LoadConfig via inline func - Fix data race in invoke(): move bl field writes before doRedirect - Close response body on ReadAll error (connection leak) - Add defer raw.Close() for raw file parsing (fd leak) - Safe type assertion in load.go keyword parsing (panic on bad YAML) - Check ants pool creation errors in NewBrutePool/NewCheckPool New tests (15 test functions): - pool_test.go: scopeLocker panic recovery, cancel mid-processing, single-threaded map access, valid pool creation - runner_test.go: concurrent recordStat safety, nil stat handling - load_test.go: malformed YAML tolerance, valid YAML loading - e2e_test.go: normal brute scan, context cancellation, server errors, WAF behavior, multi-target check mode, mixed status codes CI hardening: - Add -race detector (Linux, -short mode) - Add -timeout 300s to prevent deadlock hangs Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>