Add models for weak package, added in Go 1.24

This commit is contained in:
Owen Mansel-Chan
2025-01-08 16:48:02 +00:00
committed by Owen Mansel-Chan
parent 2806e07760
commit 79232da9d4
2 changed files with 34 additions and 0 deletions

View File

@@ -0,0 +1,7 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["weak", "", False, "Make", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"]
- ["weak", "Pointer", False, "Value", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"]

View File

@@ -0,0 +1,27 @@
package main
import "weak"
func TaintStepTest_WeakMake_manual(sourceCQL interface{}) interface{} {
fromStringPointer := sourceCQL.(*string)
intoWeakPointer := weak.Make(fromStringPointer)
return intoWeakPointer
}
func TaintStepTest_WeakValue_manual(sourceCQL interface{}) interface{} {
fromWeakPointer := sourceCQL.(weak.Pointer[string])
intoStringPointer := fromWeakPointer.Value()
return intoStringPointer
}
func RunAllTaints_Weak() {
{
source := newSource(0)
out := TaintStepTest_WeakMake_manual(source)
sink(0, out)
}
{
source := newSource(1)
out := TaintStepTest_WeakValue_manual(source)
sink(1, out)
}
}