forked from Gitlink/gitlink-cli
test: gitlink-review 植入缺陷夹具(请勿合并) #3
|
|
@ -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 的除零在真实调用路径上是伪阳性
|
||||
}
|
||||
Loading…
Reference in New Issue