Потенциальный data race. Caller может модифицировать или reuse slice data после вызова process, а горутина ещё работает с ним. Slice — это header (pointer, len, cap), горутина держит тот же pointer. Фикс: скопировать данные: cp := make([]byte, len(data)); copy(cp, data); go func() { handle(cp) }(). Или гарантировать ownership transfer.
Найди баг: func process(data []byte) { go func() { handle(data) }() }
Middle
116 просмотровAFK Offer AI
Что такое corpus в fuzzing?