diff --git a/review_fixture.go b/review_fixture.go new file mode 100644 index 0000000..3ba3139 --- /dev/null +++ b/review_fixture.go @@ -0,0 +1,47 @@ +//go:build ignore + +// 本文件为 gitlink-review skill 的测试夹具,故意植入缺陷。DO NOT MERGE。 +package reviewtest + +import "os" + +var _ = os.Getenv // 仅占位引入,避免 unused 报错(build ignore 下不影响) + +// User 占位类型 +type User struct{ Name string } + +// 1. 正确性:空指针未判 +func CurrentUser(token string) *User { + if token == "" { + return nil // token 无效返回 nil + } + return &User{Name: "cwq"} +} + +func Greet(token string) string { + u := CurrentUser(token) + return "hello " + u.Name // ← BUG: u 可能为 nil,解引用会 panic +} + +// 2. 安全:硬编码 Token(明显伪造字符串,避免触发真实密钥扫描) +var AdminToken = "glpat-FAKEFAKEFAKE0000000000" + +// 3. 测试:新函数 Welcome,本 PR 无对应 _test.go +func Welcome(name string) string { + if name == "" { + return "guest" + } + return "hi " + name +} + +// 4. 伪阳性:看似除零,但调用方 DoMath 已保证除数非 0 +func Divide(a, b int) int { + return a / b +} + +func DoMath(x int) int { + if x == 0 { + return 0 // 上游保证 x != 0 + } + return Divide(100, x) // 因此 Divide 的除零在真实调用路径上是伪阳性 +}