Skip to content

Commit 79232da

Browse files
committed
Add models for weak package, added in Go 1.24
1 parent 2806e07 commit 79232da

File tree

2 files changed

+34
-0
lines changed

2 files changed

+34
-0
lines changed

go/ql/lib/ext/weak.model.yml

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
extensions:
2+
- addsTo:
3+
pack: codeql/go-all
4+
extensible: summaryModel
5+
data:
6+
- ["weak", "", False, "Make", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"]
7+
- ["weak", "Pointer", False, "Value", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package main
2+
3+
import "weak"
4+
5+
func TaintStepTest_WeakMake_manual(sourceCQL interface{}) interface{} {
6+
fromStringPointer := sourceCQL.(*string)
7+
intoWeakPointer := weak.Make(fromStringPointer)
8+
return intoWeakPointer
9+
}
10+
func TaintStepTest_WeakValue_manual(sourceCQL interface{}) interface{} {
11+
fromWeakPointer := sourceCQL.(weak.Pointer[string])
12+
intoStringPointer := fromWeakPointer.Value()
13+
return intoStringPointer
14+
}
15+
16+
func RunAllTaints_Weak() {
17+
{
18+
source := newSource(0)
19+
out := TaintStepTest_WeakMake_manual(source)
20+
sink(0, out)
21+
}
22+
{
23+
source := newSource(1)
24+
out := TaintStepTest_WeakValue_manual(source)
25+
sink(1, out)
26+
}
27+
}

0 commit comments

Comments
 (0)